
Рассмотрим следующий 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
опцию). Поэтому мой вопрос: как мне отцентрировать дату в третьей части/разделе нижнего колонтитула, сохранив при этом номер кадра справа?
Редактировать:Ответ, предоставленный Кевином С., работает отлично. Однако мне было интересно, можно ли вместо переопределения всей нижней линии исправить только линии, 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}