Scrbook:使用后备计算来设置字体大小

Scrbook:使用后备计算来设置字体大小

当使用该类scrbook并在使用之前自定义字体大小时,\printbibliography我收到了这些警告(在大文档中我多次收到了这些警告):

类 scrbook 警告:使用后备计算设置输入行 32 上基本尺寸为“12pt”的字体大小(scrbook)。

梅威瑟:

\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[backend = biber]{biblatex}
\renewcommand*{\bibfont}{\normalfont\changefontsizes{12pt}}

\usepackage{filecontents}    
\begin{filecontents}{\jobname.bib}
@online{GLS:datasheet,
    title = "GLS Datasheet",
    organization = "Optoelectronics Research Centre",
    howpublished = "Website",
    date = "2004-09",
    urldate = "2013-07-01",
    url = "http://www.southampton.XXXX",
    address = "Southampton, United Kingdom"
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
\KOMAoptions{fontsize=12pt}
\nocite{*}
\printbibliography
\end{document}

我是否必须期待意想不到的结果? 如果真是这样,我该怎么做呢?否则我怎么可能让这些警告保持沉默呢?

答案1

此消息告诉您 KOMA-Script 对您给定的字体大小存在问题(有关 KOMA-Script 使用的机制,请参阅@cgnieder 的回答)。

为什么不只使用\documentclass[fontsize=12pt]{scrbook}?然后你可以删除\KOMAoptions{fontsize=12pt}\renewcommand*{\bibfont}{\normalfont\changefontsizes{12pt}}

改变字体大小的低级命令例如

\fontsize{12pt}{14.5pt}\selectfont

或者(取决于您的字体和标准字体大小!)您可以使用\large12 pt 字体大小如果你有 11 pt 标准字体

您可以附上标题页、目录和参考书目,例如

{\fontsize{12pt}{14.5pt}\selectfont ...} 

仅更改部分的标准字体大小...

但这只是一种技巧。我会忽略这个惊人的规则,并在任何地方使用 11 pt...

答案2

以下是有关 KOMA 选择的一些背景信息fontsize

以下引用了 KOMA-Script 文档的第 3.5 节(文档字体大小的选择)斯克里吉恩,我强调一下:

fontsize=size

与标准类和大多数其他类仅提供非常有限的字体大小不同,KOMA-Script 类提供了选择任何所需字体 size作为主文档字体的功能。在这种情况下,可以使用任何众所周知的 TeX 度量单位,使用没有度量单位的数字表示pt

如果您在文档中使用此选项,则主文档字体大小和所有相关大小将从此时开始更改。这可能很有用,例如,如果需要设置一个字母,则整体上使用较小的字体。需要注意的是,更改主字体大小不会导致自动重新计算字体区域和边距(请参阅\recalctypearea第 2.4 节,第 35 页)。另一方面,每次重新计算字体区域和边距时都将基于当前主字体大小. 将主字体大小更改为其他附加加载包的效果取决于这些包。这甚至可能导致错误消息或排版错误,这不能被视为 KOMA-Script 的错误。

似乎没有解释的是斯克里吉恩但可以在 KOMA-Script 书中阅读(仅提供德语版本,由 Lehmanns media 销售) 是 KOMA-Script 在fontsize调用该选项时所做的事情:

  1. 如果您调用fontsize=<xx>KOMA-Script,它首先会查找文件scrsize<xx>.clo。如果该文件存在,则字体大小和列表的所有设置都通过此文件进行设置。顺便说一句:该文件不包含有关 typearea 的信息,而是由包控制typearea
  2. 如果文件不存在,KOMA-Script 将查找文件scrsize<xx>pt.clo。这使用户可以忽略该单元pt
  3. 如果尚未找到合适的文件,KOMA-Script 将查找合适的文件size<xx>.clobk<xx>.clo。这<xx>是不带单位的大小pt。这些文件可能是来自标准类的文件或extsizes包。如果在加载类之后设置字体大小,则可以省略此步骤,因为这些文件只有在加载类时才能加载。
  4. 如果尚未找到合适的设置,KOMA-Script 有一个后备解决方案,即计算所有尺寸。正如 KOMA-Script 书中所述,这些计算无法与手动优化的设置(如文件中的设置clo)相媲美,但与普通文字处理程序的设置类似:

    此条件自然不能通过手动优化设置来实现。您同意遵守更多的正常文本处理规定。

    在这种情况下,KOMA-Script 会通过您所描述的警告告知用户他或她没有最佳设置。

KOMA 的文档中没有明确说明,但仅在唯一提到宏的地方隐含地说明:该\changefontsizes宏是使用后备解决方案时由 KOMA-Script 内部调用的宏。这意味着你甚至没有给 KOMA-Script 寻找更好解决方案的机会!调用 KOMA-Script 选项的正确方法是使用\KOMAoption{<option>}{<value list>}\KOMAoptions{<key value list>}):

\KOMAoption{fontsize}{12pt}

对于您的 MWE,最好的解决方案当然是通过类选项设置字体大小,正如接受的答案中所述。


至于你的第二个问题,关于静音警告等:看看silence包裹。

相关内容