当我尝试将 TikZ 放置node
below of
在包含\includegraphics
图片的另一个节点上时,它并没有放置在节点下方,而是位于节点中心下方。我感觉 makro 不知道实际的图像尺寸(以及节点尺寸)below of
(用局外人的话来说)。
我知道很多解决方法,但没有“正确”的方法来解决这个问题吗?
例子:
\documentclass{beamer}
\usepackage{tikz}
\usepackage{mwe}
\begin{document}
\begin{tikzpicture}
\node[draw = red] (image) {\includegraphics{example-image}};
\node[draw = green, below of = image] {this is NOT below of `image`};
\end{tikzpicture}
\end{document}
结果:
答案1
我更喜欢below
密钥并使用positioning
库。
\documentclass{beamer}
\usepackage{tikz}
\usepackage{mwe}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[]
\node[draw = red] (image) {\includegraphics{example-image}};
\node[draw = green, below = 0mm of image] {this is NOT below of `image`};
\end{tikzpicture}
\end{document}
答案2
您可以使用节点定位,例如image.south
:
\documentclass{beamer}
\usepackage{tikz}
\usepackage{mwe}
\begin{document}
\begin{tikzpicture}
\node[draw = red] (image) {\includegraphics{example-image}};
\node at (image.south)[draw = green, anchor=north] {this IS below of `image`!};
\end{tikzpicture}
\end{document}
请注意,您还必须指定anchor
。
此代码产生
变化
您可以使用节点的标签:
\documentclass{beamer}
\usepackage{tikz}
\usepackage{mwe}
\begin{document}
\begin{tikzpicture}
\node[draw = red,label={[draw=green,text=red]-90:this IS below of `image`!}] (image) {\includegraphics{example-image}};
\end{tikzpicture}
\end{document}