次のような序文がある文書があります:
\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 cm の余白で垂直方向に中央揃えするにはどうすればよいでしょうか (適切な中央揃えポイントを計算しない方が望ましい)?
編集: ドキュメントを見ると、vcentering
思った通りには機能しないようです。とにかく、ヘッダーを垂直に中央揃えにする方法はありますか?
答え1
ヘッダー ブロック (高さ: \headheight
) を上余白内で垂直方向に中央揃えするには、次のコードを実行します。
\documentclass[12pt, b5paper]{article}
\usepackage{geometry}
\geometry{
margin=2cm,
headsep=\dimexpr1cm-0.5\headheight\relax,
showframe % optional
}
このソリューションは、 を(ここでは 2cm) とheadsep
によって決定される量として扱うことで機能します。もちろん、長さ変数も調整できます。たとえば、を実行する前に設定します。tmargin
\headheight
\headheight
headheight=\baselineskip,
headsep=\dimexpr1cm-0.5\headheight\relax,
vcentering=true
コード内のオプションを省略した理由は 2 つあります。1 つ目は、 によって上書きされるからですmargin=2cm
。2 つ目は、目的を達成できないからです。