我需要定位一个示例块:
\begin{exampleblock}{}
Proposed and implemented
\end{exampleblock}
不干扰其他框架内容。例如:
--------------------
-------------
--------------------
--------------------------
-----------
--/============\---------
-----| |--
-----| Proposed |--------
-----| and |--------
-----| implemented|------
-----\============/
--------------------
--------------------------
-----------------
让它覆盖后面的文本。布局时不予考虑。
更新 Claudio Fiandrino 的方式并不适合我,因为我需要一个在里面工作的 Itemize 环境,而且如果块样式与主题样式相同的话,那就太好了。
答案1
这beamer 文档(§12.8)建议使用textpos
为此提供了一个软件包,它可以被视为 TikZ 的替代品。
\documentclass{beamer}
\usepackage{lmodern}
\usetheme{Luebeck}
\usepackage{lipsum} % <= to insert dummy text
\usepackage[absolute,overlay]{textpos}
\begin{document}
\begin{frame}
\frametitle{Example of block over the text}
\lipsum[1]
\begin{textblock*}{64mm}(32mm,0.25\textheight)
\begin{exampleblock}{}
Proposed and implemented:
\begin{itemize}
\item stuff
\item more stuff
\end{itemize}
\end{exampleblock}
\end{textblock*}
\end{frame}
\end{document}
这个答案Christian Feuersänger 比较了这两种方法(textpos、TikZ)。如果不使用一些额外的包,一个穷人的解决方案将是一个简单的负面方案\vskip
,如这个答案。
答案2
我的解决方案是:
由于我对 不是很熟悉expansion
,我尝试通过 重新创建块,rectangle split
并通过新的 将其放在内容前面background
。为此,需要两个库:backgrounds
和shapes.multipart
。
以下是代码:
\documentclass{beamer}
\usepackage{lmodern}
\usetheme{Luebeck}
\usepackage{tikz}
\usetikzlibrary{backgrounds,shapes.multipart}
\pgfdeclarelayer{myback}
\pgfsetlayers{background,main,myback} %<= insert the myback
% after the "main" to display the content in front of the usual content
% definition of the style
\tikzset{exampleblock/.style={rounded corners,rectangle split, rectangle split parts=2, draw,
rectangle split part fill={green!80!black, green!20},minimum width=\textwidth
}}
\usepackage{lipsum} % <= to insert dummy text
\begin{document}
\begin{frame}
\frametitle{Example of block over the text}
\lipsum[1]
\begin{tikzpicture}[remember picture,overlay]
\begin{pgfonlayer}{myback}
\node [exampleblock]
at (current page.center) { %<= empty to not insert a title
\nodepart{two}
Proposed and implemented
};
\end{pgfonlayer}
\end{tikzpicture}
\end{frame}
\end{document}
我喜欢这种方法的原因是它可以非常轻松地自定义块的宽度;例如,更改minimum width=\textwidth
为minimum width=4cm
将导致: