![将 beamer-slide 的一部分与顶部对齐](https://linux22.com/image/365026/%E5%B0%86%20beamer-slide%20%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86%E4%B8%8E%E9%A1%B6%E9%83%A8%E5%AF%B9%E9%BD%90.png)
我希望投影仪幻灯片的某些部分与幻灯片顶部对齐。其余部分仍应自动与中间对齐。
梅威瑟:
\documentclass{beamer}
\usepackage{tcolorbox}
\begin{document}
\begin{frame}{Title}
\begin{tcolorbox}
align to top
\end{tcolorbox}
align to middle
\end{frame}
\end{document}
像投影仪中帧内容的不同对齐方式解决方案。(如果这是一个好的/正确的解决方案)。但是,它能够定义tcolorbox
或一个新的环境,以便[t]
将选项添加到框架中并在\vfill
环境之后(这似乎是最简单的部分)
答案1
您可以让tcolorbox
骑行成为框架标题的组成部分:
\documentclass{beamer}
\usepackage{tcolorbox}
\begin{document}
{
\addtobeamertemplate{frametitle}{}{%
\begin{tcolorbox}
align to top
\end{tcolorbox}
}
\begin{frame}{Title}
align to middle
\end{frame}
}
{
\addtobeamertemplate{frametitle}{}{%
\begin{tcolorbox}
align to top
\end{tcolorbox}
}
\begin{frame}{\mbox{}}
align to middle
\end{frame}
}
\end{document}
缺点:你必须在框架标题中有一些非空的内容。最坏的情况是,如果框架不应该有标题,那么你就可以使用一些不可见的内容。
答案2
编辑:
阅读 萨姆卡特答案给了我以下想法:
\documentclass{beamer}
\usepackage{tcolorbox}
\newcommand\mytcolorbox[1]{%
\framesubtitle{\medskip%
\centerline{\begin{tcolorbox}[width=\textwidth]
#1
\end{tcolorbox}}}
}
\begin{document}
\begin{frame}{Title}
\mytcolorbox{align to top}
align to middle
\end{frame}
\begin{frame}{Title}
align to middle
\end{frame}
\end{document}
优点:工作简单:-)
缺点:yin 同时你不能使用\framesubtitle
,它将被覆盖\mytcolorbox
答案3
以下新命令\totop
应将其内容添加到框架顶部,而不会干扰全局框架居中。唯一的缺点是选择正确的值,以便您可以根据raisebox
该内容进行选择,我.35\textheight
在示例中选择了该值。
\documentclass{beamer}
\usepackage{lmodern,tcolorbox}
\newcommand{\totop}[1]{\vbox to 0pt{\raisebox{.35\textheight}[\height][0pt]{#1}}\vspace{-\baselineskip}}
\begin{document}
\begin{frame}{Title}
\totop{%
\begin{tcolorbox}
align to top
\end{tcolorbox}
}
align to middle
\end{frame}
\end{document}