页面几何差异

页面几何差异

在 Companion 第 2 版中,表 4.2 显示了信纸纸张大小的各种字体大小的页面几何值。这些值有时与标准类别的当前值有很大不同。Companion 在这里错了吗?或者这些值多年来发生了变化,如果发生了变化,是什么促使了这种变化?

为了方便起见,我冒昧地拍摄了该表的图像,如下所示:

在此处输入图片描述

对于那些有兴趣打印这些值的人,我还提供了一个 MWE 供实验使用:

\documentclass[10pt]{book}
\usepackage{pgf}
\def\aspectratio{\pgfmathparse{\paperheight/\paperwidth} \pgfmathresult}
\def\printgeometryvalues{\leavevmode
  paperwidth \the\paperwidth\\
  paperheight \the\paperheight\\
  theheadheight \the\headheight\\
  theheadsep \the\headsep\\
  thetopmargin \the\topmargin\\
  theoddsidemargin \the\oddsidemargin\\
  theevensidemargin\the\evensidemargin\\
  thetextheight\the\textheight\\
  thetextwidth \the\textwidth\\
  themarginparsep \the\marginparsep\\
  themarginparwidth \the\marginparwidth\\
  themarginpush \the\marginparpush\\
  thevoffset \the\voffset
  thefootskip \the\footskip\\
  aspect ratio \aspectratio\\
  topskip \the\topskip\\
  voffset \the\voffset\\
  hoffset \the\hoffset\\
  topmargin \the\topmargin}
\parindent0pt
\begin{document}
\null\newpage
\printgeometryvalues
\end{document}

有趣的是 的值\topmargin,其他类通常将其设置为负值。另外,在我看来,同上表中的情况非常不寻常。

答案1

我担心该表格是从第一版直接复制到第二版的,直到现在都没有人注意到它是错的。正如 David 所说,它显示了 LaTeX 2.09 值,如果在兼容模式下使用,即使用 而不是 ,这些值仍可用于\documentstyleLaTeX2e \documentclass

LaTeX Companion 的第一版是在 2e 最终定稿时编写的,当时这些值可能对 2e 来说仍然正确。但在某个时候(需要查看当时的 rcs 日志),我们决定根据所选的纸张大小调整布局。基本上,size10.cloet al 中的代码会尝试将文本主体置于页面中央,从而\topmargin根据所选的纸张大小选项计算\oddsidemargin\evensidemargin

对于水平尺寸,这可以以精确的方式完成,但对于垂直定位,你希望将页眉和页脚扩展到什么程度就不那么清楚了。代码没有完全计算页脚(通常只包含页码),我猜“% 这可能是错误的”可能只是对此发表评论。然而,标准类中的默认设置从未尝试提供任何超出“合理”方式将文本显示在纸上的方法,而且众所周知,它们并不是优秀设计的必要示例。

无论如何,这值得为 LaTeX Companion 2ed 添加勘误表,我将在接下来的几天内添加它。

答案2

哦,这一切都是遥远的记忆(代码和书本)size10.clo

\if@compatibility
  \setlength\topmargin{27pt}
\else
  \setlength\topmargin{\paperheight}
  \addtolength\topmargin{-2in}
  \addtolength\topmargin{-\headheight}
  \addtolength\topmargin{-\headsep}
  \addtolength\topmargin{-\textheight}
  \addtolength\topmargin{-\footskip}     % this might be wrong!
  \addtolength\topmargin{-.5\topmargin}
  \@settopoint\topmargin
\fi

换句话说,您在表中显示的 27pt 值仅适用于使用\documentstyle而不是触发的兼容模式(即与 LaTeX 2.09 兼容)\documentclass

相关内容