背景中的节点框架和前景中的节点标签

背景中的节点框架和前景中的节点标签

我想用一个节点突出显示一个文本,其中节点框架会出现在背景中,而节点标签会出现在前景中(文本本身位于两者的中间)。

目前,我设法使用一种解决方案,将节点框架和节点标签分成两个不同的代码,一个位于文本之前,另一个位于文本之后(因此具有由代码中的位置决定的默认深度)。

但是,我对这个解决方案并不满意,因为您将其拆分为两个在语义上相互关联的结构。因此,我想知道是否有一种简单的方法可以强制节点框架和节点标签分别位于背景和前景中。

以下是我当前代码的精简示例:

\documentclass[10pt,a4paper]{beamer}
\usepackage{tikz}

\begin{document}

 \begin{frame}
   \frametitle{Example}

   \onslide<2->{%
     \tikz[overlay]{%
       \node[rectangle,draw,thick,text centered,rounded corners,
            minimum height=1.35cm,minimum width=10.5cm,fill=blue!35]
       at (5.85,-1.5) {};
     }
   }
   \vfill

   \begin{itemize}
   \item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
     vitae pharetra nisl. Class aptent taciti sociosqu ad litora
     torquent per conubia nostra, per inceptos himenaeos.
   \vfill

   \item Donec ullamcorper bibendum sem. Nulla venenatis non augue ac
     cursus. Pellentesque nec nisl ut ligula pellentesque porttitor eu
     rutrum lectus.
   \vfill

   \item Sed lacinia augue sit amet tempus lobortis. Suspendisse
     varius, libero ac consectetur varius, nisi est aliquam arcu, id
     varius nisl dolor sit amet odio.
   \end{itemize}
   \vfill

   \onslide<2->{%
     \tikz[overlay]{%
       \node at (5.85,5.45) {\Huge\bfseries Lorem Ipsum};
     }
   }
 \end{frame}
\end{document}

第一张幻灯片 第二张幻灯片

答案1

labels有一个特殊的锚点,即center。这center是主节点中心,因此很容易将标签放在前台,而节点内容在后台,添加label={[font=\Huge\bfseries]center:Loren Ipsum}到节点选项。

\documentclass[10pt,a4paper]{beamer}
\usepackage{tikz}

\begin{document}

 \begin{frame}
   \frametitle{Example}

   \onslide<2->{%
     \tikz[overlay]{%
       \node[rectangle,draw,thick,text centered,rounded corners,
            minimum height=1.35cm,minimum width=10.5cm,fill=blue!35,
            label={[font=\Huge\bfseries]center:Loren Ipsum}]%<---------------
       at (5.85,-1.5) {};
     }
   }
   \vfill

   \begin{itemize}
   \item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
     vitae pharetra nisl. Class aptent taciti sociosqu ad litora
     torquent per conubia nostra, per inceptos himenaeos.
   \vfill

   \item Donec ullamcorper bibendum sem. Nulla venenatis non augue ac
     cursus. Pellentesque nec nisl ut ligula pellentesque porttitor eu
     rutrum lectus.
   \vfill

   \item Sed lacinia augue sit amet tempus lobortis. Suspendisse
     varius, libero ac consectetur varius, nisi est aliquam arcu, id
     varius nisl dolor sit amet odio.
   \end{itemize}
   \vfill

%   \onslide<2->{%
%     \tikz[overlay]{%
%       \node at (5.85,5.45) {\Huge\bfseries Lorem Ipsum};
%     }
%   }
 \end{frame}
\end{document}

在此处输入图片描述

相关内容