考虑以下 MWE:
\documentclass[10pt]{beamer}
\usepackage{lmodern}
\usetheme{Madrid}
\title{Testing Beamer Title}
\subtitle{With 10pt font}
\author{John Doe}
\date{\today}
\begin{document}
\frame{\titlepage}
\end{document}
正如您在第一个图像中看到的,页脚第三部分的日期未正确居中(例如,它不像我没有设置选项的第二幅图像那样居中10pt
)。所以我的问题是:如何将日期置于页脚第三部分/部分的中央,同时将帧编号保持在最右侧?
编辑:Kevin C 提供的答案非常有效。不过,我想知道,除了重新定义整个 footline 之外,是否还可以只修补与以下行相对应的行date in head/foot
:etoolbox
在这个中所做的那样回答。
答案1
默认footline
主题的Madrid
最后一个块右对齐。因此,那里的日期不居中,并且当页码更改时(例如从个位数变为两位数时)会略有偏移。
为了使日期位于最后一个块的中心并且不受页数变化的影响,可以定义一个新footline
主题,如以下 MWE 所示:
平均能量损失
\documentclass[]{beamer}
\usepackage{etoolbox}
\usepackage{lmodern}
\usetheme{Madrid}
\makeatletter
% change in-box alignment from right to left
\patchcmd{\beamer@@tmpl@footline}% <cmd>
{right}% <search>
{left}% <replace>
{}% <success>
{}% <failure>
% replace definition of 'date in head/foot' box
\patchcmd{\beamer@@tmpl@footline}% <cmd>
{\usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
\insertframenumber{} / \inserttotalframenumber\hspace*{2ex}}% <search>
{\rlap{\makebox[.333333\paperwidth][r]{\insertframenumber{} / \inserttotalframenumber \hspace*{2ex}}}
\usebeamerfont{date in head/foot}\hfill\insertshortdate{}\hfill}% <replace>
{}% <success>
{}% <failure>
\makeatother
\title{Testing Beamer Title}
\subtitle{With default font size}
\author{John Doe}
\date{\today}
\begin{document}
\frame{\titlepage}
\frame{test}\frame{test}\frame{test}\frame{test}\frame{test}
\frame{test}\frame{test}\frame{test}\frame{test}\frame{test}
\end{document}