框架标题过满,减少边距以保持设计

框架标题过满,减少边距以保持设计

如果你运行这个简单的代码,你会看到一个溢出的水平盒子。我认为原因是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}

在此处输入图片描述

相关内容