似乎我得到的左右边距值不精确。是什么魔法让geometry
我得到不精确的值?
我预期的纸张尺寸是 A4(但正如评论和回答中所讨论的那样,情况并非完全如此)。我测量了左侧 18 毫米和右侧 16 毫米。打印时没有缩放。<— 只是为了澄清这一点:我将 pdf 打印到一张实体纸上,并使用了一把尺子和我的近视眼。
\documentclass{article}
\usepackage{fontspec}% xelatex
\usepackage{lipsum}
\setlength{\textwidth}{\dimexpr \paperwidth - 20mm * 2 \relax}
\setlength{\oddsidemargin}{\dimexpr (\paperwidth - \textwidth)/2 - 1 in\relax}
\begin{document}
\lipsum
\lipsum
\end{document}
答案1
让我们看看发生了什么。
默认情况下,LaTeX 将纸张大小设置为美国信纸。如果我只添加您的示例,则在之后\begin{document}
,
\showthe\paperwidth
\showthe\textwidth
\showthe\oddsidemargin
控制台显示
> 614.295pt.
l.8 \showthe\paperwidth
?
> 500.484pt.
l.9 \showthe\textwidth
?
> -15.36449pt.
l.10 \showthe\oddsidemargin
?
这与我们通过以下方式获得的值完全相同
\usepackage[left=20mm,right=20mm]{geometry}
但是,xdvipdfmx
根据您的评论,设置为输出到 A4 纸。如果我打开 PDF 文件并检查其属性,我会得到
Creator: XeTeX output 2018.01.09:1918
Producer: xdvipdfmx (20170318)
CreationDate: Tue Jan 9 19:18:31 2018
Tagged: no
Form: none
Pages: 2
Encrypted: no
Page size: 595.28 x 841.89 pts (A4) (rotated 0 degrees)
File size: 13853 bytes
Optimized: no
PDF version: 1.5
变成
Creator: XeTeX output 2018.01.09:1923
Producer: xdvipdfmx (20170318)
CreationDate: Tue Jan 9 19:23:09 2018
Tagged: no
Form: none
Pages: 2
Encrypted: no
Page size: 612 x 792 pts (letter) (rotated 0 degrees)
File size: 13845 bytes
Optimized: no
PDF version: 1.5
何时geometry
加载:这是因为geometry
通知xdvipdfmx
输出纸张尺寸。
根据我的测量,“非geometry
”版本的左边距为 20 毫米,右边距为 14 毫米。612 – 595.28(Postscript 点)是多少?是 5.9 毫米。
如果你这样做
\documentclass[a4paper]{article}
\usepackage{fontspec}
\usepackage{lipsum}
\setlength{\textwidth}{\dimexpr \paperwidth - 20mm * 2 \relax}
\setlength{\oddsidemargin}{\dimexpr (\paperwidth - \textwidth)/2 - 1 in\relax}
\begin{document}
\lipsum
\lipsum
\end{document}
您将获得所需的利润。