我正在尝试将 tikzpicture 节点包裹在一个框内,这样我就可以从图片内部引用这个“边界框”来定位相对于该框的节点。我正在寻找类似于以下命令的命令(在此示例中,只有“我的节点 B”位于当前页面的顶部):
\documentclass{beamer}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\begin{document}
\begin{frame}
\frametitle{Test Frame}
\makebox[\textwidth]{ % %%% any alternative?
\begin{tikzpicture}[overlay, remember picture]
\draw (current bounding box.north) node (__node_ref)
[anchor=north,fill=gray]
{My node A};
\end{tikzpicture}
}
\begin{tikzpicture}[overlay, remember picture]
\draw (current page.north) node (__node_ref)
[anchor=north,fill=gray]
{My node B};
\end{tikzpicture}
\end{frame}
\end{document}
这样,我可以调整外部框的大小,并保持 tikzpicture 节点的相对位置不变。我尝试使用 \makebox、\framebox 和 \pfgbox(后者来自 {tikzpicture} 内部),但都不起作用。
我知道通常“当前边界框”可能会起作用,但我在 Beamer+XeLaTeX 中执行此操作,并且我只能访问节点“当前页面”,因此我必须使用“shift”再次将节点居中。
有任何想法吗?