![框架标题过满,减少边距以保持设计](https://linux22.com/image/440277/%E6%A1%86%E6%9E%B6%E6%A0%87%E9%A2%98%E8%BF%87%E6%BB%A1%EF%BC%8C%E5%87%8F%E5%B0%91%E8%BE%B9%E8%B7%9D%E4%BB%A5%E4%BF%9D%E6%8C%81%E8%AE%BE%E8%AE%A1.png)
如果你运行这个简单的代码,你会看到一个溢出的水平盒子。我认为原因是beamercolorbox
标题中的\paperwidth
很大。
\documentclass{beamer}
\usetheme{metropolis}
\setbeamersize{sidebar width left=.83cm}
\begin{document}
\begin{frame}{Frame title}
\end{frame}
\end{document}
有没有办法将标题扩展到侧边栏并避免过满?我想要做的是将所有文本(普通文本和标题中的文本)移动 0.83 厘米,保持背景设计固定(例如,设置文本边距不起作用,因为它会移动beamercolorbox
标题中的文本)。
答案1
我会设置text margin left
然后修补frametitle
模板以更改leftskip
那里:
\documentclass{beamer}
\usetheme{moloch}% modern fork of the metropolis theme
\setbeamersize{text margin left=1.86cm}
\makeatletter
\setbeamertemplate{frametitle}{%
\nointerlineskip%
\begin{beamercolorbox}[%
wd=\paperwidth,%
sep=0pt,%
leftskip=\dimexpr\moloch@frametitle@padding+0.86cm,%
rightskip=\moloch@frametitle@padding,%
]{frametitle}%
\moloch@frametitlestrut@start%
\insertframetitle%
\nolinebreak%
\moloch@frametitlestrut@end%
\end{beamercolorbox}%
}
\makeatother
\begin{document}
\begin{frame}{Frame title}
text
\end{frame}
\end{document}