具有灰色背景且无边距的页眉

具有灰色背景且无边距的页眉

在用 LaTeX 完成我的论文后(我是一个绝对的新手),我被要求按照与我收到的文档文件相匹配的特定设计来格式化它。

我已成功更改标题、字体和边距,但在页眉方面遇到了麻烦。

以下是我想要实现的目标:

具有灰色背景且无边距的页眉

我尝试过摆弄它fancyhdr- 但是在花了一个小时阅读文档之后,我不确定它是否能满足我的需要。

您能给我指明正确的方向吗?

具体问题: - 我应该使用什么包来实现这一点? - 如何创建忽略页边距的浮动框?

答案1

页码的示例使用\llap/\rlap在不移动当前点的情况下向左/向右打印一些内容。

\documentclass[twoside]{book}
\usepackage[
  headheight=14pt,
]{geometry}

\usepackage{color}
\definecolor{bgpagenum}{gray}{.82}
\definecolor{fgheader}{gray}{.5}

\usepackage{fancyhdr}
\pagestyle{fancy}

\makeatletter
\let\ps@plain\ps@fancy
\makeatother

\fancyhead{}
\fancyfoot{}
\renewcommand*{\headrulewidth}{0pt}
\renewcommand*{\footrulewidth}{0pt}

\fancyhead[RO]{%
  \textcolor{fgheader}{%
    \rightmark
    \rlap{%
      \hspace{\marginparsep}%
      \hspace{-\fboxsep}%
      \colorbox{bgpagenum}{%
        \makebox[\textwidth][l]{\thepage}%
      }%
    }%
  }%
}
\fancyhead[LE]{%
  \textcolor{fgheader}{%
    \llap{%
      \colorbox{bgpagenum}{%
        \makebox[\textwidth][r]{\thepage}%
      }%
      \hspace{\marginparsep}%
      \hspace{-\fboxsep}%
    }%
    \leftmark
  }%
}

% sans serif font as main font
\renewcommand*{\familydefault}{\sfdefault}

\begin{document}
\chapter{Asdfg}
\section{Hjkl}
\newpage
\section{Yuip}
\end{document}

我使用了\marginparsep从页码到正文的水平距离。然后页码将与边注(如果有)垂直对齐。如果页码也应该在边注之外,则添加\hspace{\marginparwidth}。灰色框的长度可以计算出来:

\dimexpr\paperwidth-\textwidth-1in-\oddsidemargin\relax % odd pages
\dimexpr\paperwidth-\textwidth-1in-\evensidemargin\relax % even pages

该示例通过使用更大的宽度(\textwidth)来简化它。

其他事情取决于所使用的类/包以及您已经管理的内容。

相关内容