geometry 的 bindingoffset 似乎被忽略了

geometry 的 bindingoffset 似乎被忽略了

geometry的文档说明:

  • 第 9 页:“bindingoffset对于单面显示,删除页面左侧指定的空间;对于双面显示,删除页面内侧指定的空间。”,
  • 第 10 页(图 6 的标题):“该选项bindingoffset将指定的长度添加到内边距。”。

这似乎是矛盾的,从代码的第748行来看:

\advance\oddsidemargin\Gm@bindingoffset

我猜bindingoffset 添加指定的长度到内(左)边距。

无论如何,bindingoffset似乎被忽略了,如以下 MWE 所示:如果bindingoffset > 0,左边距的有效长度(由页面网格显示)是长度left(即oddsidemargin + 1 inch,此处31mm)而不是left+bindingoffset长度(此处41mm)。

\documentclass{article}
\usepackage{lipsum}
\usepackage{calc}
\usepackage[step=5mm]{pagegrid}
\usepackage{printlen}
\usepackage{geometry}
%
\uselengthunit{mm}
%
\geometry{%
  paperwidth=15cm
  ,showframe
  ,verbose
  ,bindingoffset=1cm
}
%
\newlength{\leftplusoneinch}
\newlength{\leftplusoneinchplusbindingoffset}
%
\begin{document}
\makeatletter
\setlength{\leftplusoneinch}{\oddsidemargin+1in}
\setlength{\leftplusoneinchplusbindingoffset}{\leftplusoneinch+\Gm@bindingoffset}
\begin{tabular}{ll}
  bindingoffset                 & $=\printlength{\Gm@bindingoffset}$                 \\
  left (oddsidemargin + 1 inch) & $=\printlength{\leftplusoneinch}$                  \\
  left + bindingoffset          & $=\printlength{\leftplusoneinchplusbindingoffset}$ 
\end{tabular}
\makeatother
\end{document}

因此我的问题是:为什么geometry似乎bindingoffset被忽略了?

相关内容