如何设置页眉中的图像以适应页面边缘?

如何设置页眉中的图像以适应页面边缘?

我正在努力将图像添加到 A4 纸文档的标题中。此外,我的文档是twoside。这就是我希望它看起来的样子:

在此处输入图片描述

基本上,带有名称和三角形的徽标是一张单一图像,横跨 A4 页面的整个宽度(我从 Word 模板中获取了它),并适合在奇数页上显示。我为偶数页设计了第二张图片。

fancyhdr我尝试使用命令将它们放入某种样式中\fancyhead[\includegraphics[width=\paperwidth]{even.png}]{\includegraphics[width=\paperwidth]{odd.png}}问题是图像无法调整到页面的准确边缘。我尝试过不同的解决方案:使用\setlength命令修改边距;使用\fancyheadoffset命令更改页眉的宽度;将图像分割成三个较小的图像(三角形、倒三角形和徽标),然后使用\fancyheadR 和 L 选项将它们发送到角落……这些方法都不起作用。所以我想我需要你的帮助。

那么,是否可以在文档的标题中设置图像以提供上述输出?

这是一个 MWE:

\documentclass[a4paper,twoside]{report}

\usepackage[T1]{fontenc}
\usepackage[UTF8]{inputenc}
\usepackage{graphicx, fancyhdr, lipsum}
\usepackage[top=2.0cm, bottom=2.5cm, inner=2.5cm, outer=2.5cm, marginparwidth=0pt]{geometry}
\pagestyle{fancy}%
\fancyhf{}%
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

% These lines are my attempts at changing the layout
%\setlength\hoffset{0pt}
%\setlength\oddsidemargin{1cm}
%\setlength\voffset{0pt}
\setlength\headheight{85.0pt}
\addtolength{\textheight}{-85.0pt}
%\setlength\headwidth{\paperwidth}
%\fancyheadoffset{150pt}
%---

\fancyhead[RE, LO]{\includegraphics{logo.png}}
\fancyhead[LE]{\includegraphics{even.png}}
\fancyhead[RO]{\includegraphics{odd.png}} %

\begin{document}

\lipsum[1-15]

\end{document}

答案1

以下是使用的建议scrlayer-scrpage而是fancyhdr。然后您可以定义两个新层:一个用于奇数页,一个用于偶数页。这些层可以添加到页面样式中scrheadings。因此,图像将不会出现在chapter页面上,因为它们使用的是页面样式plain

\documentclass[a4paper,twoside]{report}
\usepackage[T1]{fontenc}
\usepackage[UTF8]{inputenc}
\usepackage{graphicx}
\usepackage[margin=2.5cm, top=5cm, marginparwidth=0pt]{geometry}

\usepackage{mwe}% dummy text and example images

\newsavebox\topodd
\newsavebox\topeven
\savebox\topodd{\includegraphics[height=85pt,width=\paperwidth]{example-image-A}}
\savebox\topeven{\includegraphics[height=85pt,width=\paperwidth]{example-image-B}}

\usepackage[automark]{scrlayer-scrpage}
\clearpairofpagestyles
\cfoot*{\pagemark}% page number in footer
\DeclareNewLayer[
  background,
  topmargin,
  oddpage,
  height=85pt,
  contents={\usebox\topodd}
]{top.odd}
\DeclareNewLayer[
  clone=top.odd,
  evenpage,
  contents={\usebox\topeven}
]{top.even}
\AddLayersToPageStyle{scrheadings}{top.odd,top.even}

\begin{document}
\tableofcontents
\Blinddocument
\end{document}

在此处输入图片描述

在此处输入图片描述

请注意,我已将top边距扩大至 5 厘米。

相关内容