Vertikal zentrierte Kopfzeile

Vertikal zentrierte Kopfzeile

Ich habe ein Dokument mit dieser Präambel:

\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{}

Der Text unter "oben" ist nicht vertikal zentriert. Wie zentriere ich ihn vertikal im 2 cm Rand (am besten ohne den entsprechenden Zentrierpunkt zu berechnen)?

Bildbeschreibung hier eingeben

EDIT: Wenn ich mir die Dokumente ansehe, glaube ich nicht, vcenteringdass es das tut, was ich dachte. Gibt es trotzdem eine Möglichkeit, die Kopfzeile vertikal zu zentrieren?

Antwort1

Um den Kopfblock (Höhe: \headheight) vertikal innerhalb des oberen Rands zu zentrieren, können Sie den folgenden Code ausführen:

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

Diese Lösung funktioniert, indem sie als eine Menge behandelt wird , die durch (hier: 2 cm) und headsepbestimmt wird . Die Längenvariable kann natürlich ebenfalls angepasst werden; z. B. vor dem Ausführen festgelegt werden .tmargin\headheight\headheightheadheight=\baselineskip,headsep=\dimexpr1cm-0.5\headheight\relax,

Ich habe die Option vcentering=truein Ihrem Code aus zwei Gründen weggelassen: Erstens wird sie durch überschrieben margin=2cm. Zweitens erreicht sie nicht das, was Sie erreichen möchten.

verwandte Informationen