如何消除 fancyhdr 和页面顶部/侧面之间的空间

如何消除 fancyhdr 和页面顶部/侧面之间的空间

我想要一个实心矩形(里面有一些文本)作为标题。我尝试了以下方法:

\documentclass{article}
\usepackage{tikz}
\usepackage{fancyhdr}

\fancypagestyle{heading1}{
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
\begin{tikzpicture}
\draw[fill=darkgray] (0,0)rectangle(\paperwidth,2);
\node[white] at (2, 1) {Some heading text on page 1};
\end{tikzpicture}
}

\begin{document}
\thispagestyle{heading1}

Some text on page 1

\end{document}

但是灰色矩形没有延伸到页面的最左侧(尽管它确实延伸到了最右侧),也没有延伸到顶部。

答案1

你可以从左上角开始绘制矩形。像这样:

\documentclass{article}
\usepackage{tikz}
\usepackage{fancyhdr}
\fancypagestyle{heading1}{
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
\begin{tikzpicture}[remember picture, overlay]
\draw[fill=darkgray] (current page.north west) rectangle(\paperwidth,-1);
\node[white] at (2, 1) {Some heading text on page 1};
\end{tikzpicture}
}
\begin{document}
\thispagestyle{heading1}
Some text on page 1
\end{document}

页面顶部的灰色矩形

可能有更正确的方法来做这样的事情。

答案2

对于简单的矩形,您不需要tikz

在此处输入图片描述

\documentclass{article}
\usepackage{xcolor}
\usepackage{fancyhdr}
\usepackage{lipsum}
\usepackage{geometry}
\geometry{verbose,tmargin=4cm,headheight=3cm,headsep=1cm}
\fancypagestyle{heading1}{
\renewcommand{\headrulewidth}{0pt}
\fancyhead{\centering\makebox[0pt][c]{\colorbox{blue!60}{
\centering\begin{minipage}[c][3cm][c]{.99\paperwidth}
\hspace{\dimexpr\oddsidemargin+1in}\huge\bfseries\sffamily\color{white} Some heading text on page 1
\end{minipage}}}}}
\begin{document}
\thispagestyle{heading1}
\lipsum
\end{document}

相关内容