使用字体编译我的文档时newtx
出现以下错误
LaTeX Font Warning: Font shape `OMS/ntxrx/m/n' undefined
(Font) using `OMS/ntxsy/m/n' instead on input line 209.
LaTeX Font Warning: Some font shapes were not available, defaults substituted.
我做了一些研究,得出结论,这个错误很可能是由于 LaTeX 没有在包的一部分中找到\textcopyright
符号。我还得出结论,LaTeX 随后用包其他部分的相同符号替换了它。由于替换是由 LaTeX 自动完成的,所以我可能会完全忽略该错误消息。normalfont
newtx
newtx
不过,出于好奇和学究的考虑,我想知道我是否可以将 LaTeX 引导到正确的子字体并避免烦人的错误消息。这可能吗?
答案1
\textcopyright
in的默认定义latex.ltx
是
\DeclareTextCommandDefault{\textcopyright}{\textcircled{c}}
哪里\textcircled
\DeclareTextAccentDefault{\textcircled}{OMS}
这意味着\textcircled
,默认情况下,将从 OMS 编码字体中获取(前提是已定义)。标准字体提供了 的替换\OMS/cmr/<series>/<shape>
,确切地说是\OMS/cmsy/<series>/<shape>
。您可以在文件 中找到替换规则omscmr.fd
。
没有newtxtext
合适的omsntxrx.fd
文件,因此默认执行字体替换时会出现警告;LaTeX 的规则规定,当请求 OMS 编码字体且当前字体属性不可用时,将使用为数学符号定义的字体(带有警告)。
但是,该textcomp
软件包加载了 TS1 编码字体的定义,并且存在“真实”的版权符号。该newtxtext
软件包支持 TS1,因此不仅
\usepackage{textcomp}
避免了警告,但提供了更好的字形。