Вертикально центрировать заголовок

Вертикально центрировать заголовок

У меня есть документ с такой преамбулой:

\documentclass[12pt, b5paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
% ...
\usepackage{geometry}
\geometry{
    vcentering=True,
    margin=2cm,
    showframe % show how the type block is set on the page
}
% ...
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\lhead{}
\chead{top} % header
\rhead{}

Текст в "top" не отцентрирован по вертикали. Как бы мне отцентрировать его по вертикали в поле 2 см (предпочтительно без расчета соответствующей точки центрирования)?

введите описание изображения здесь

EDIT: Глядя на документы, я не думаю, vcenteringчто это то, что я думал. Независимо от этого, есть ли способ вертикально отцентрировать заголовок?

решение1

Чтобы отцентрировать блок заголовка (высота: \headheight) по вертикали в пределах верхнего поля, вы можете выполнить следующий код:

\documentclass[12pt, b5paper]{article}
\usepackage{geometry}
\geometry{
    margin=2cm,
    headsep=\dimexpr1cm-0.5\headheight\relax,
    showframe % optional
}

Это решение работает, рассматривая headsepкак величину, которая определяется tmargin(здесь: 2 см) и \headheight. \headheightПеременная длины, конечно, также может быть скорректирована; например, установлена headheight=\baselineskip,​​перед запуском headsep=\dimexpr1cm-0.5\headheight\relax,.

Я пропустил опцию vcentering=true, которая была в вашем коде, по двум причинам: во-первых, она переопределяется margin=2cm. Во-вторых, она не достигает того, что вы хотите получить.

Связанный контент