KOMA-Script:为什么“DIV=calc”会破坏初始几何图形?

KOMA-Script:为什么“DIV=calc”会破坏初始几何图形?

为什么DIV=calc-命令会修改整个布局几何形状,即使绑定校正BCOR设置为0mm

让我们看两个简单的例子来解释我的问题。


1.示例

在第一个示例中,我通过注释掉BCORDIV=calc命令来完全禁用它们。结果将是一个具有漂亮边框的和谐布局。


最小工作示例(MWE)

\documentclass[twoside=false]{scrbook}

\usepackage{blindtext}

% \KOMAoptions{BCOR=0mm}
% \KOMAoptions{DIV=calc}

\begin{document}
    \blinddocument
\end{document}

结果截图:

布局美观,已停用 BCOR/DIV=calc 和初始几何。


2.示例

但是,如果我打开 -commandDIV=calc甚至BCOR=0mm,整个布局都会改变。结果将是几何图形被强烈修改,(在我看来)边框宽度过宽且不协调。


最小工作示例(MWE)

\documentclass[twoside=false]{scrbook}

\usepackage{blindtext}

\KOMAoptions{BCOR=0mm}
\KOMAoptions{DIV=calc}

\begin{document}
    \blinddocument
\end{document}

结果截图:

使用激活的 BCOR 和初始几何形状修改布局。


这种行为的原因是什么?

为什么整个布局都会改变,即使0mmBCOR?我觉得没有 的初始布局DIV=calc看起来更自然,不是吗?

答案1

如果您未将选项设置DIV为类选项包,则typearea使用加载DIV=default。这意味着:要么存在默认值(仅适用于 a4 纸张和字体大小 10pt、11pt 或 12pt),要么DIV=calc自动使用。

您的示例未设置paperfontsize或,因此使用DIV默认值paper=a4、 。这导致预设值。fontsize=11ptDIV=defaultDIV=10

WithDIV=calc包会根据当前字体typearea重新计算该DIV值,以获取建议的每行字符数。在您的示例中,这是DIV=8。您可以在日志文件中找到此值。

如果不想DIV在重新计算页面布局时更改 ,请不要使用DIV=calc。将其替换为DIV=current( 的当前值DIV)或DIV=last( 选项的最后一个参数DIV- 可以是数字或符号值,如default)。

但是如果你BCOR在序言中更改,页面布局的重新计算已经使用 完成DIV=last。在你的例子中,这将DIV=default导致DIV=10。所以没有必要DIV再次设置。另请参阅KOMA 中的 DIV 和 BCOR 设置(最佳实践)

请注意,使用选项和\recalctypearea重新计算页面布局。BCOR=currentDIV=last

如果边距应该较小,请设置较大的DIV值,即DIV=12

如果您需要特殊边距,您可以设置 KOMA-Script 选项usegeometry并加载包geometry来更改边距。

答案2

TL;DR:DIV=calc应该改变布局,因为它是页面布局构建的一个选项。

我对最后一个问题的看法是:不,没有的话看起来不会更自然DIV=calc。至少如果你习惯了这个设置的话。

但要澄清这两种设置的目的是什么(或多或少可以在 KOMA 文档中读到):

  • BCOR设置装订校正,即文本块远离内边距的水平移动。
  • DIV现在使用剩余页面(未进行装订校正)将页面分成等高的部分。它在水平轴上执行相同操作(等宽部分)。顶部边距是最上面的条纹,底部边距是最底部的两个条纹。它对最里面的条纹(如顶部)和两个最外面的条纹(如底部)执行相同操作。

因此,页面有一些预定义的划分(DIV范围从 6 到 15 [每页条纹])。DIV=calc现在应该自动选择最美观的页面布局。只要您这样做\recalctypearea(或更改上述 KOMA 选项之一),它就会尝试减小行宽,这样一行中就不会有太多字符(排版传统,有像每行 66 个字符这样的值作为经验法则)。

还有其他自动计算的方法,例如DIV=classic,但您似乎不想这样做。

现在回答你的问题:正如我刚才解释的那样,DIV应该改变页面布局。因此设置它将导致不同的边距和彻底改变的视觉外观,这旨在帮助读者集中注意力,因为在纸上,较短的行比 80-100 个字符的行更易于阅读。

相关内容