Никого не смущает, что класс Beamer не идеально центрирует содержимое кадров по вертикали?
Снизу места немного больше, чем сверху. Может ли кто-нибудь дать решение, как добиться идеального центрирования контента и, что еще важнее, сделать это глобальной настройкой?
Ниже приведен (тривиальный) MWE.
\documentclass{beamer}
\begin{document}
\begin{frame}
This text is not perfectly centered vertically.
\end{frame}
\end{document}
решение1
Thetextpos
упаковкапозволяет вам разместить текст в любом указанном вами месте на странице. В beamer
классе пакет должен быть загружен с опцией overlay
, в других классах документов это не так. Я также включил опцию showboxes
просто для сравнения с идеальным центром, рассчитанным с помощью tikz
. В вашем окончательном документе вы можете удалить опцию showboxes
или добавить \textblockrulecolor{white}
команду для скрытия полей. Последняя команда по моему опыту привела к более точному позиционированию. Но я понятия не имею, почему это произошло.
\documentclass{beamer}
\usepackage{tikz,lmodern}
\usepackage[absolute,overlay,showboxes]{textpos}
\begin{document}
\centering
\begin{frame}{title}
This text is not perfectly centered vertically.
\begin{tikzpicture}[overlay, remember picture]
\draw (current page.north west)--(current page.south east) (current page.south west)--(current page.north east);
\end{tikzpicture}
\begin{textblock}{13.5}[.5,.5](8,8)
This text is perfectly centered vertically and horizontally.
\end{textblock}
\end{frame}
\end{document}
решение2
Это не отвечает на ваш главный вопрос, хотя я подозреваю, что есть некоторые скрытые "поля" для заголовков, верхних и нижних колонтитулов и т. д., которые не видны в пустом фрейме. В любом случае, если вы настаиваете на том, чтобы какой-то текст был идеально отцентрирован, вы всегда можете использовать TiKZ
.
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}{title}
This text is not perfectly centered vertically.
\begin{tikzpicture}[overlay, remember picture] \node[anchor=center,draw] at (current page.center) {This text is perfectly centered vertically and horizontally.};
\draw (current page.north west)--(current page.south east) (current page.south west)--(current page.north east);
\end{tikzpicture}
\end{frame}
\end{document}