此代码
\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
知道发生了什么。我确实建议使用加载textcomp
,siunitx
但这不是绝对必要的,因此不会强制执行。