如何删除 Beamer、biblatex 和带有 ISBN 的参考书目项中出现的 LaTeX 字体警告

如何删除 Beamer、biblatex 和带有 ISBN 的参考书目项中出现的 LaTeX 字体警告

我使用 beamer (2019/09/29 v3.57)、biblatex 和带有 ISBN 的参考资料时收到 LaTeX 字体警告。我该如何删除它?

完整的错误文本是:

[filename].tex || LaTeX Font Warning: Font shape `OT1/lmss/m/sc' in size <10.95> not available Font shape `OT1/lmr/m/sc' tried instead on input line 12.

我已经尝试了一切如何删除 beamer 中的警告“字体形状 `OT1/cmss/m/n' 大小 <4> 不可用”和“大小替换有差异”?无济于事:

  • 添加\usepackage{lmodern}
  • 添加\usepackage{anyfontsize}
  • 添加\let\Tiny=\tiny
  • 我的 beamer 版本已经>= 3.44
  • 我有\end{document}

我已经将问题归结为文件条目isbn的字段.bib。删除该字段后,错误消失。

这是一个真正最小的工作示例:

% filename.tex
\documentclass{beamer}
\let\Tiny=\tiny
\usepackage{lmodern}
\usepackage{anyfontsize}

\usepackage{biblatex}
\addbibresource{ref.bib}

\begin{document}

\cite{freivalds}
\printbibliography

\end{document}
% ref.bib
@InProceedings{freivalds,
    author="Freivalds",
    isbn="978-3-540-38769-5"
}

输出结果如下所示。请注意,文本 ISBN 在参考书目中使用了不同的字体。

编译输出

答案1

作为乌尔丽克·菲舍尔在评论中解释道,这是一个字体警告,告诉您您的文档请求的字体组合在您的字体设置中不可用,并告诉您 LaTeX 回退到哪些替代方案。

尤其

LaTeX Font Warning: Font shape `OT1/lmss/m/sc' in size <10.95> not available
(Font)              Font shape `OT1/lmr/m/sc' tried instead on input line 9.

表示某些内容要求使用无衬线字体中的小型大写字母,而 Latin Modern(您加载的字体\usepackage{lmodern})没有这种字体。LaTeX 决定恢复使用常规/衬线字体的小型大写字母。

为什么首先要求字体组合?默认情况下,beamer将文本设置为无衬线字体。biblatex使用 打印诸如“ISBN”之类的首字母缩略词\mkbibacro,其作用类似于\textsc{\MakeLowercase{#1}},因此要求使用小写字母。

有几种方法可以处理此警告。

  1. 忽略警告并且不采取任何措施。如果您对输出结果满意,则可以忽略警告。警告通常只会告诉您可能出现错误或您可能需要更改某些内容,并要求您仔细检查输出。如​​果警告没有建议您如何做得更好(有些警告会,例如如果命令被重命名,它们可能会建议您使用新名称),如果您对结果或结果满意,则不必采取行动。

  2. 选择具有无衬线小型大写字母的字体。消除错误的一个明显解决方案是选择具有无衬线小写字母的字体。Libertinus 就是一个例子。替换\usepackage{lmodern}\usepackage{libertinus},您将获得无衬线小写字母,并且不会出现任何警告。

  3. 避免字体组合。有几种方法可以做到这一点。一种方法是使用 Latin Modern Regular 而不是 Sans Serif 排版您的演示文稿(这可能不是一个好主意,人们通常更喜欢使用无衬线字体进行演示)。但不太激进的解决方案是避免使用首字母缩略词的小写字母。要做到这一点,请将其添加\renewcommand*{\mkbibacro}[1]{#1}到您的文档中。

相关内容