T1 字体编码、newtxttext 和 microtype 导致“包 microtype 信息:缺少字符‘029’”

T1 字体编码、newtxttext 和 microtype 导致“包 microtype 信息:缺少字符‘029’”

喂食

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{newtxtext}
\usepackage{microtype}
\begin{document}
\textsc{}% doesn't matter what text we enter here
\end{document}

到 pdflatex 打印

Package microtype Info: Character `029' is missing
(microtype)             in font `T1/ntxtlf/m/sc/10'.
(microtype)             Ignoring protrusion settings for this character.

到日志中(有时我们会missing在日志中搜索以检查是否存在任何问题)。如果我们放弃\usepackage[T1]{fontenc},我们会收到关于 013 而不是 029 的投诉。

哪个字符(029 和 013 只是数字而不是字符)在哪里缺失了?日志中上述消息告诉我们什么,特别是考虑到没有通过 输出任何文本\textsc?(您甚至可以使用 隐藏页码,这样\pagestyle{empty}页面上实际上根本没有文本。)这个消息值得担心吗?如果是,谁应该担心,以及(最重要的是

答案1

char29fl连字符。小写字体 ( ) 中缺少该字符\textsc{...}。只要\char29fl使用小写字母,就无需担心,可以忽略来自微字体的信息。通常输入以小写字母 (!)fl输出,即FLfl 不用于小型大写字母输出。

微型包提供了选项verbose,其值为truefalseerrors和 ,silent用于调整显示消息的数量,但“包微类型信息:缺少字符 ...”不受此选项设置的影响。安静包可用于过滤不需要的警告和错误消息,但这里的消息既不是警告也不是错误而是信息,因此没有被过滤掉。

如果你非常不想看到任何关于失踪人员的信息fl\textsc那么你可以把

\makeatletter
\let\originalMT@info@missing@char\MT@info@missing@char

\def\MT@info@missing@char{%
  \def\privateMTc{029}%
  \edef\privateMTv{\the\MT@toks}%
  \ifx\privateMTc\privateMTv%
    \def\privateMTc{sc}%
    \ifx\privateMTc\f@shape%
    \else%
      \originalMT@info@missing@char%
    \fi%
  \else%
    \originalMT@info@missing@char%
  \fi%
}
\makeatother

加载后,在您的序言中microtype

[在 Ulrike Fischer、AlMa0 和 rallg 的评论帮助下 - 感谢!]

相关内容