microtype + siunitx 和 \micro - 神秘警告

microtype + siunitx 和 \micro - 神秘警告

此代码

\documentclass{scrreprt}

\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{microtype}
\usepackage{siunitx}

\begin{document}

\SI{10}{\micro\metre}

\end{document}

产生以下警告:

Package microtype Warning: Unknown slot number of character
(microtype)                `\textminus '
(microtype)                in font encoding `TS1' in protrusion list
(microtype)                `textcomp'.

Package microtype Warning: Unknown slot number of character
(microtype)                `\texttrademark '
(microtype)                in font encoding `TS1' in protrusion list
(microtype)                `textcomp'.

Package microtype Warning: Unknown slot number of character
(microtype)                `\textcopyright '
(microtype)                in font encoding `TS1' in protrusion list
(microtype)                `textcomp'.

Package microtype Warning: Unknown slot number of character
(microtype)                `\textregistered '
(microtype)                in font encoding `TS1' in protrusion list
(microtype)                `textcomp'.

Package microtype Warning: Unknown slot number of character
(microtype)                `\textdegree '
(microtype)                in font encoding `TS1' in protrusion list
(microtype)                `textcomp'.

附加信息:

  • 这似乎仅在使用siunitx“\micro”(如 µm 或 µs)时发生
  • fontenc如果没有和包也会出现错误lmodern(但在出现警告的实际文档中我使用了它们,因此我将它们包含在最小示例中)
  • 加载textcomp包使警告消失

问题:

  • 这些警告到底意味着什么?
  • 是什么产生了它们?
  • 我是否应该只加载该textcomp软件包?但它是 1995 年的,我认为它已经过时了。而且我不需要它(除了让警告消失)
  • 这里最好的解决方案是什么?

答案1

为了避免弄乱文档中的其他内容,siunitx设置为避免加载字体包等。因此,它使用其“自己的”版本的\textminus\textmu,并为此设置了最低限度的支持。但是,microtype正如您所见,这会造成混淆(这应该是无害的)。加载textcomp“修复”了这个问题,因为siunitx然后使用textcomp这两个符号的版本,并且microtype知道发生了什么。我确实建议使用加载textcompsiunitx但这不是绝对必要的,因此不会强制执行。

相关内容