我想要一个实心矩形(里面有一些文本)作为标题。我尝试了以下方法:
\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}