TikZ 图片的包装盒

TikZ 图片的包装盒

我正在尝试将 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”再次将节点居中。

有任何想法吗?

相关内容