如何消除 Geometry 包中 h 和 v 警告的过度规格?

如何消除 Geometry 包中 h 和 v 警告的过度规格?

我使用回忆录类模板作为我自己论文的基础。它包括几何包。这会产生警告,但似乎不会影响 pdf 的编译。我使用 pdfLaTeX。

这是 MWE

\documentclass[11pt, a4paper, oneside, oldfontcommands]{memoir}
\usepackage[a4paper]{geometry}
% PDF VIEW
\geometry{total={210mm,297mm}, left=25mm,right=25mm, bindingoffset=0mm, top=25mm,bottom=25mm}
% PRINT
%\geometry{total={210mm,297mm},left=20mm,right=20mm,
%bindingoffset=10mm, top=25mm,bottom=25mm}

\begin{document}
hello there
\end{document}

我得到的错误是;

包装几何警告:宽度超标h'-direction.(597.50787pt) 被忽略。 包装几何警告:高度超标v'-direction.(845.04684pt) 被忽略。

我阅读了一些软件包文档,但似乎不明白这里发生了什么。

有人能告诉我这个警告是什么吗以及如何消除它(如果可能的话)。

编辑1:我从一些答案中看到,对于几何包是否有必要,存在一些争议。我使用的模板不是来自我所在部门的(只是我在网上找到的一个),因为我在人文学科,而部门中没有人使用 LaTeX。我正在编辑它以符合我所在大学的风格指南,因此如果不需要,我没有必要使用该包。关于边距,这是我所在大学的指导方针所说的;

正文必须左对齐,左边距为4厘米,也可以右对齐。正文建议采用易读的布局和双面打印。

需要 A4 纸张尺寸,虽然我的 MWE 没有它(我的错)但建议双面打印(如上所述)。

答案1

你可能误解了它的total=用途:它指定文本块,而不是纸张大小。纸张大小已由全局选项指定(如果已经在选项中a4paper,则无需将其传递给)。geometry\documentclass

因此,您指定了 210 毫米的文本宽度,但左右边距也为 25 毫米,这与规定的纸张尺寸(210 毫米)相矛盾。最后指定的选项获胜,因此您得到的文本宽度为 210 - 50 = 160 毫米。高度也是如此。

papersize={<width>,<height>}可以使用或单独的paperwidth=<width>和选项指定非标准纸张尺寸paperheight=<height>。但a4paper对于您的情况来说已经足够了。

当知道纸张尺寸时(最好知道),只需指定边距就足够了:

\usepackage{geometry}
\geometry{
  a4paper,% redundant if already in \documentclass
  left=25mm,
  right=25mm,
  top=25mm,
  bottom=25mm,
  heightrounded,% better use it
}

最后一个选项确保调整高度,以便文本块中容纳整数行数。

但请注意,它memoir有自己的设置页面参数的方法。

答案2

由于您正在使用,因此memoir您应该使用它的功能来布局您的页面。我对这个类不是很熟悉,但文档似乎非常有用,所以我建议你仔细阅读一下。经过仔细阅读,建议如下:

\documentclass[11pt, a4paper, oneside, oldfontcommands]{memoir}
\setlrmarginsandblock{25mm}{25mm}{*}
\setulmarginsandblock{25mm}{25mm}{*}
\checkandfixthelayout
\usepackage{kantlipsum}
\begin{document}
\kant[1-5]
\end{document}

Kant,边距为 25 毫米

当然,这些利润率并不是很有吸引力,但我猜你需要使用它们。

答案3

这是因为,geometry它会自动计算文档的缺失尺寸。当您指定过多参数时,它会发出警告
Over-specification

该代码应该可以正常工作:

\documentclass[11pt,oneside,oldfontcommands]{memoir}
\usepackage[a4paper,left=25mm,top=25mm,textwidth=160mm,textheight=249.7mm]{geometry}

\begin{document}
hello there
\end{document}

如例所示,我更喜欢这种语法,而不是使用,\geometry因为它很紧凑,但任何一个公式都应该产生相同的结果。

相关内容