如何用从 \paperwidth 中减去的 \oddsidemargin、\textwidth 等来表示 72.27pt?

如何用从 \paperwidth 中减去的 \oddsidemargin、\textwidth 等来表示 72.27pt?

默认情况下,LaTeX 会在文档左侧(和顶部)添加一英寸(72.27pt)。这里我想证明这一点,如下所示。但我错过了一些其他页面布局宏来从中减去\paperwidth

% the objective is to prove that
% left padding of 1in  = 72.27pt
% has been added by default
% by LaTeX

\documentclass{article}

\begin{document}
    \the
    \dimexpr
        \paperwidth
        -\hoffset
        -\oddsidemargin
        -\textwidth
        -\marginparsep
        -\marginparwidth
        % minus some other page layout macros 
        % should be there but I don't know
    \relax
\end{document}

72.27pt从中减去\oddsidemargin、 、 ...怎么表示?\textwidth\paperwidth


我需要一个下面红色部分的长度宏。

在此处输入图片描述


我接受 egreg 回答的原因是由于他的以下评论。

再次强调:红色显示的长度不是直接可用的,而只能通过计算获得:它是 \paperwidth-1in-\hoffset-\oddsidemargin-\textwidth-\marginparsep-\marginparwidth

因此不可能得到所要求的表达式来证明72.27pt

答案1

文本块的左上角放置

1in + \hoffset + \oddsidemargin

从页面左边框开始

1in + \voffset + \topmargin + \headheight + \headsep

从上边界算起。当然,\evensidemargin当页面被视为右页时使用(仅在twosided打印时且页码为偶数时)。

您可以使用以下示例来“证明”您想要什么:

\documentclass[a4paper]{article}
\usepackage{layout}

\addtolength{\marginparwidth}{\dimexpr\paperwidth-1in-\hoffset-\oddsidemargin-\textwidth-\marginparsep-\marginparwidth-1pt\relax}

\begin{document}
\layout
\end{document}

现在,代表边注区域的框将略微延伸到纸张的右边缘(实际上是 1pt,但由于线条有厚度,因此图像并不完美)。

你用红色画的长度正好是

\paperwidth-1in-\hoffset-\oddsidemargin-\textwidth-\marginparsep-\marginparwidth

如果你需要的只是一个非标准的页面尺寸且没有边距,那么答案是几何学

\documentclass{article}
\usepackage[paperwidth=1in,paperheight=1in,margin=0pt]{geometry}

该包执行的计算总结在文件中log

* paper: custom
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* modes: 
* h-part:(L,W,R)=(0.0pt, 72.26999pt, 0.0pt)
* v-part:(T,H,B)=(0.0pt, 72.26999pt, 0.0pt)
* \paperwidth=72.26999pt
* \paperheight=72.26999pt
* \textwidth=72.26999pt
* \textheight=72.26999pt
* \oddsidemargin=-72.26999pt
* \evensidemargin=-72.26999pt
* \topmargin=-109.26999pt

请注意,就 TeX 而言,72.27pt 与 72.26999pt 相同。

相关内容