请参阅下面的更新。当我尝试更改 beamer 中的框架标题时,出现了以下问题。(实际上,我想要标题栏中的图片。我改用了规则。)
\documentclass{beamer}
\usetheme{AnnArbor}
\setbeamercolor*{frametitle in title}{fg=red, bg=black}
\setbeamertemplate{frametitle}{%
\vspace{-0.165ex}
\mbox{%
\begin{beamercolorbox}[wd=\paperwidth, dp=1ex, ht=4.5ex, sep=1ex, colsep*=0pt]{frametitle in title}%
\usebeamerfont{frametitle}
\insertframetitle
\hfill
\raisebox{-1.75ex}[\ht\strutbox][-\ht\strutbox]{\rule{5ex}{5ex}}
\end{beamercolorbox}%
}%
}
\begin{document}
\begin{frame}
\frametitle{Hello}
Everythings fine here
\end{frame}
\begin{frame}%[fragile]
\frametitle{Can you see?}
DO
\end{frame}
\end{document}
因此,您可以轻松看到代表图片的红色方块(我希望它在那里)在易碎框架上向上移动。我不知道易碎是如何工作的(我也不知道 beamer,但我到目前为止能够处理它。)因此,我想到了一个 if 结构来弄清楚何时开启了易碎,但是... 在用户空间中没有这样的结构可用...
谢谢评论!
更新:我刚刚发现,问题与易碎框架无关。它来自带有降部的字母。所以事实上,我很难\raisebox
正确使用。
答案1
你说得对,问题出在“Can you see”中“y”的下行部分。(你很自然地感到困惑,并首先认为fragile
这是罪魁祸首;我有一个相关问题我也不知道发生了什么。Juan A. Navarro 称之为“可怕的宝马垂直对齐问题”...)
解决方案:向您的框架标题添加一个\strut
,如下所示:
\frametitle{Hello\strut}
\frametitle{Can you see?\strut}
然后你会看到图片不再移动了。现在图片太高了,但这可以通过调整\raisebox{-1.75ex}
图片的 轻松解决。