我想用一个节点突出显示一个文本,其中节点框架会出现在背景中,而节点标签会出现在前景中(文本本身位于两者的中间)。
目前,我设法使用一种解决方案,将节点框架和节点标签分成两个不同的代码,一个位于文本之前,另一个位于文本之后(因此具有由代码中的位置决定的默认深度)。
但是,我对这个解决方案并不满意,因为您将其拆分为两个在语义上相互关联的结构。因此,我想知道是否有一种简单的方法可以强制节点框架和节点标签分别位于背景和前景中。
以下是我当前代码的精简示例:
\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}