我编写了一个显示标题背景的函数。但是,背景图像正下方应该有一条水平线,从最左边到最右边,没有边距。
这是我当前的代码:
\documentclass{article}
\usepackage{lipsum}
\usepackage{wallpaper}
\newcommand{\BackgroundHeader}[3]{%
\AddToShipoutPicture{%
\AtPageLowerLeft{%
\parbox[b][\paperheight]{#1\paperwidth}{%
\includegraphics[width=#1\paperwidth,height=#1\paperheight,%
keepaspectratio,trim={#2},clip]{#3}%
\vfill%
}
}
}
}
\begin{document}
\BackgroundHeader{2}{0 1650 550 1625}{background.png}
\lipsum[1-3]
\end{document}
它看起来是这样的:
我尝试将以下内容放在下面\vfill
,但没有结果:
\noindent\makebox[\linewidth]{\rule{\paperwidth}{0.4pt}}%
我做错了什么?如何得到图像下方的那条线?
答案1
如果该行应位于标题图像下方,则必须将其放在之前\vfill
:
代码:
\documentclass{article}
\usepackage{xcolor}
\usepackage{lipsum}
\usepackage{wallpaper}
\newcommand{\BackgroundHeader}[3]{%
\AddToShipoutPicture{%
\AtPageLowerLeft{%
\parbox[b][\paperheight]{#1\paperwidth}{%
\includegraphics[width=\linewidth,height=7\baselineskip
]{#3}% <- necessary to avoid spurious spaces
\vspace*{-\baselineskip}
\textcolor{red}{\rule[-2pt]{\paperwidth}{2pt}}%
\vfill%
}
}
}
}
\begin{document}
\BackgroundHeader{3}{}{example-image.pdf}
\lipsum[1-3]
\end{document}
\includegraphics
请注意,由于我没有您的照片,所以我更改了选项。
如果图像应该是页面样式的一部分,您也可以使用包scrlayer
,请参阅精美的页眉和页脚,包括带有 tikz 的图像