我的教授给了我一个他定制的 Beamer 模板,用于制作演示幻灯片。但是,我遇到了一个无法解决的问题。我的幻灯片标题有两列。第一列包含部分名称,第二列包含子部分名称。但是其中一个部分的名称太大,无法容纳在第一列中,如下所示:
现在,我在想,如果我能以某种方式减少第二列的宽度并增加第一列的宽度,那么我的部分和子部分的名称将适合各自的列。我认为这可以做到,因为我已经使用以下代码重新调整了两列脚注的宽度:
\makeatletter
\setbeamertemplate{footline}{%
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=.30\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
\usebeamerfont{author in head/foot}\insertshortauthor%~~\beamer@ifempty{\insertshortinstitute}{}{(\insertshortinstitute)}
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.70\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
\usebeamerfont{title in head/foot}\insertshorttitle
\end{beamercolorbox}}%
\vskip0pt%
}
\makeatother
我正在分享我的下载链接投影仪模板。 请下载 zip 文件夹并编译文件文档.tex给出。任何帮助都将不胜感激。
答案1
您可以像这样重新定义标题:
\documentclass{beamer}
\usetheme{Hyderabad}
\makeatletter
\setbeamertemplate{headline}{%
\leavevmode%
{\usebeamerfont{section in head/foot}%
\@tempdimb=2.4375ex%
\ifnum\beamer@subsectionmax<\beamer@sectionmax%
\multiply\@tempdimb by\beamer@sectionmax%
\else%
\multiply\@tempdimb by\beamer@subsectionmax%
\fi%
\ifdim\@tempdimb>0pt%
\advance\@tempdimb by 1.825ex%
\begin{beamercolorbox}[wd=.7\paperwidth,ht=\@tempdimb]{section in head/foot}%
\vbox to\@tempdimb{\vfil\usebeamerfont{section in head/foot}\insertsectionnavigation{.7\paperwidth}\vfil}%
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.3\paperwidth,ht=\@tempdimb]{subsection in head/foot}%
\vbox to\@tempdimb{\vfil\usebeamerfont{subsection in head/foot}\insertsubsectionnavigation{.3\paperwidth}\vfil}%
\end{beamercolorbox}%
\fi%
}%
\vskip0pt
\begin{pgfpicture}
\pgfpathrectangle{\pgfpoint{0pt}{-4pt}}{\pgfpoint{\paperwidth}{4pt}}%
\pgfsetfading{beamer@topshadowmask}{}%
\pgfusepath{fill}%
\end{pgfpicture}
\vskip-2pt
}
\makeatother
\begin{document}
\section{Introduction}
\subsection{Overview}
\begin{frame}
content...
\end{frame}
\end{document}