
當使用該類別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
或(取決於您的字體和標準字體大小!)您可以使用\large
12 pt 字體大小如果您有 11 pt 標準字體。
您可以附上標題頁、目錄和參考書目,例如
{\fontsize{12pt}{14.5pt}\selectfont ...}
僅更改該部分的標準字體大小...
。
但這只是一個駭客。我會監督這個令人驚訝的規則並在所有地方使用 11 分...
答案2
以下是有關 KOMA 選擇的一些背景資訊fontsize
。
以下引用KOMA-Script文件的3.5節(文檔字體大小的選擇)斯克吉安,我強調:
fontsize=size
與僅提供非常有限數量的字體大小的標準類別和大多數其他類別相比,KOMA-Script 類別提供了選擇
size
主文檔所需的任何字體的功能。在本文中,可以使用任何公知的TeX測量單位並且使用沒有測量單位的數字pt
。如果您在文件中使用此選項,主文檔字體大小和所有相關大小將從此時開始變更。這可能是有用的,例如,如果應該使用整體上較小的字體再設定一個字母。應該注意的是,更改主要字體大小不會導致自動重新計算文字區域和邊距(請參閱
\recalctypearea
第 35 頁,第 2.4 節)。另一方面,每次重新計算文字區域和邊距都會根據當前的主要字體大小進行。更改主要字體大小對其他附加載入的包的影響取決於這些包。這甚至可能導致錯誤訊息或排版錯誤,這不能被視為 KOMA-Script 的故障。
似乎沒有解釋什麼斯克吉安但可以在 KOMA-Script 書中閱讀(僅提供德語版本,由萊曼媒體出售) 是 KOMA-Script 在fontsize
呼叫該選項時所做的操作:
- 如果您呼叫
fontsize=<xx>
KOMA-Script 首先查找檔案scrsize<xx>.clo
。如果存在,則所有字體大小和清單設定都透過此文件進行設定。順便說一句:該文件不包含有關類型區域的信息,而是由typearea
套件控制。 - 如果該檔案不存在,KOMA-Script 會尋找檔案
scrsize<xx>pt.clo
。這使得用戶可以省去該單元pt
。 - 如果尚未找到合適的文件,KOMA-Script 會找到合適的文件
size<xx>.clo
或bk<xx>.clo
.這<xx>
是沒有單位的尺寸pt
。這些文件可能是來自標準類或extsizes
包裹。如果在載入類別後設定字體大小,則可以省略此步驟,因為這些檔案只能在類別載入時載入。 如果尚未找到合適的設置,KOMA-Script 有一個後備解決方案,這意味著所有尺寸都會被計算。如 KOMA-Script 書中所述,這些計算無法與手動最佳化的設定(如檔案中的設定
clo
)競爭,但與普通文字處理程式的設定類似:Diese Berechnung kann natürlich mit manuel optimierten Einstellungen nicht mithalten。 Sie entspricht mehr den Fähigkeiten einer normalen Textverarbeitung。
在這種情況下,KOMA-Script 會透過您所描述的警告通知使用者他或她沒有最佳的設定。
KOMA 的文檔中沒有明確說明這一點,只是在唯一提及巨集時隱含地說明了這一點:該\changefontsizes
巨集是使用後備解決方案時 KOMA-Script 在內部呼叫的巨集。這意味著您甚至沒有給 KOMA-Script 尋找更好解決方案的機會!呼叫 KOMA-Script 選項的正確方法是使用\KOMAoption{<option>}{<value list>}
或\KOMAoptions{<key value list>}
):
\KOMAoption{fontsize}{12pt}
對於您的 MWE,最好的解決方案當然是透過類別選項來設定字體大小,如已接受的答案中所述。
至於你關於消除警告之類的第二個問題:看看silence
包裹。