我正在尝试一个简单的页面,其中在页面顶部有一个图像作为标题,在页面的其余部分居中有一个方形图像。
我希望图像填满整个页面宽度。尝试了一些方法后,我决定使用子图(来自 subcaption 包),因为虽然我谈论的是页面中心的单个方形图像,但将来我需要创建一些图像矩阵,如下所示:
回到我的页面居中的单幅方形图像模板,我已将一些乳胶长度设置为 0 厘米:
\setlength{\parindent}{0cm}
\setlength{\parskip}{0cm}
\setlength{\headheight}{0pt}
\setlength{\skip\footins}{0pt}
\setlength{\headsep}{0.0pt}
\setlength{\topskip}{0.0pt}
\setlength{\footskip}{0.0pt}
使用几何包,我定义页面如下:
\geometry{
layoutheight = 21 cm,
layoutwidth = 29.7 cm,
layouthoffset = 0cm,
layoutvoffset = 0cm,
left=0cm,
right=0cm,
top=0cm,
bottom=0cm
}
然后,我的代码:
\begin{document}
\begin{figure}[H]
\includegraphics[width=21cm,height=2.1cm]{\headerImage}
\begin{subfigure}{21cm}
\vspace*{3.3cm}\hspace*{0.0cm}\includegraphics[width=21cm,keepaspectratio]{0}
\end{subfigure}
\end{figure}
\end{document}
当然,我已经正确定义了 \headerImage 和 \graphicspath。
渲染时,我可以阅读下一条消息:
Overfull \vbox (154.68237pt too high) has occurred while \output is active
结果是一个包含两页的 pdf 文件,第一页完全是白色的,第二页的页眉和图像完全居中,并且两个图像都填满了整个页面宽度。第二页是完美的。
进行一些计算,21厘米(方形图像)+ 2.1厘米(标题图像)+ 3.3厘米(垂直空间)= 26.4厘米
为什么要将第一个空白页添加到文档中?如何避免 Overfull \vbox 错误?
我不确定,但也许还有一些我不知道的乳胶长度应该设置为 0??
提前非常感谢您。
編輯:
这是我的代码:
\documentclass{article}
\newcommand{\imagesPath}{/home/projects/latex-templates/images/}
\newcommand{\headerImage}{/home/projects/latex-templates/images/HEADERf.jpg}
%%% REQUIRED PACKAGES %%%
\usepackage{graphicx}
\usepackage[paperwidth=21 cm,paperheight=29.7 cm]{geometry}
\usepackage{color}
\usepackage{xcolor}
\usepackage{xstring}
\usepackage{calc}
\usepackage{fp}
\usepackage{float}
\usepackage{subcaption}
\usepackage{printlen}
\usepackage{import}
\graphicspath{{\imagesPath}}
%%% REDEFINED LATEX LENGTHS %%%
\setlength{\parindent}{0cm}
\setlength{\parskip}{0cm}
\setlength{\headheight}{0pt}
\setlength{\skip\footins}{0pt}
\setlength{\headsep}{0.0pt}
\setlength{\topskip}{0.0pt}
\setlength{\footskip}{0.0pt}
\setlength{\baselineskip}{0.0pt}
\setlength{\abovecaptionskip}{0.0pt}
\setlength{\belowcaptionskip}{0.0pt}
\geometry{
layoutheight = 21 cm,
layoutwidth = 29.7 cm,
layouthoffset = 0cm,
layoutvoffset = 0cm,
left=0cm,
right=0cm,
top=0cm,
bottom=0cm,
showcrop=false,
showframe=false,
}
\graphicspath{{\imagesPath}}
%%% BACKGROUND COLOR %%%
\definecolor{backgroundcolor}{HTML}{FFFFFF}
%%% DOCUMENT DEFINITION %%%
\pagenumbering{gobble}
\pagecolor{backgroundcolor}
\message{INIT DOCUMENT}
\begin{document}
\begin{figure}[H]
\includegraphics[width=21cm,height=2.165cm]{\headerImage}\\
\begin{subfigure}{21cm}
\vspace{3.2675cm}\hspace*{0.0cm}\includegraphics[width=21cm,keepaspectratio]{0}
\end{subfigure}
\end{figure}
\end{document}
结果如下:
如您所见,结果 pdf 文件中有两页。第二页是完美的,但没有第一页!我确信第一个空白页的出现是因为:` \output 处于活动状态时发生了 Overfull \vbox (154.68237pt too high)
我该怎么做才能避免出现第一个空白页
答案1
我仍然不清楚你到底想要什么,是横向还是纵向模式的图像矩阵,或者这应该是某个文本文档或单个页面的一部分。无论如何,这可能是横向页面的起点:
\documentclass[a4paper,landscape]{article}
\usepackage{graphicx}
\usepackage[margin=0cm]{geometry}
\begin{document}
\centering
\makebox[0pt]{\includegraphics[width=\paperwidth,height=3cm]{example-image}}
\vfill\hfill
\includegraphics[width=.45\paperwidth,height=.4\paperheight,keepaspectratio]{example-image}\hfill
\includegraphics[width=.45\paperwidth,height=.4\paperheight,keepaspectratio]{example-image-a}\hfill{}
\vfill\hfill
\includegraphics[width=.45\paperwidth,height=.4\paperheight,keepaspectratio]{example-image-b}\hfill
\includegraphics[width=.45\paperwidth,height=.4\paperheight,keepaspectratio]{example-image-c}\hfill{}
\vfill
\end{document}
对于肖像页,只需删除landscape
第一行:
当然,当您使用自己的原始图像时,标题的图像应该具有正确的宽度/高度比,然后仅使用该width
选项。对于其他图像,如果它们不是 4x3 格式,您可能需要进行一些调整.45\paperwidth
或4\paperheight
获得图像周围所需的空间。