microtype
我在我的日志文件中注意到了此错误消息:
Package microtype Info: Loading generic protrusion settings for font family
(microtype) `NewCM10-Book.otf' (encoding: TU).
(microtype) For optimal results, create family-specific settings.
(microtype) See the microtype manual for details.
好吧,我想,应该有某种方法可以告诉 Microtype,NewComputerModern 与 Computer Modern 非常相似,对吗?
我找到了它;手册第 21 页的表格,其中有一个表格甚至说 Latin Modern Roman 具有自定义字体设置,并说“别名:New Computer Modern”。但是,无论我使用\usepackage{newcomputermodern}
还是加载,\usepackage[regular]{newcomputermodern}
它都会列出上述错误(只是使用NewCM10-Regular.otf
而不是NewCM10-Book.otf
。
好的,没问题,手册建议使用,\DeclareMicrotypeAlias{lmr}{cmr}
所以我创建了以下 MNWE:
\documentclass{article}
\usepackage{fontspec}
\usepackage[]{newcomputermodern}
\usepackage{microtype}
%\DeclareMicrotypeAlias{NewCM10-Regular.otf}{cmr}
\DeclareMicrotypeAlias{NewCM10-Book.otf}{cmr}
\begin{document}
Test text
\end{document}
但我仍然收到以下错误:
(d:/texlive/2020/texmf-dist/tex/latex/microtype/mt-cmr.cfg
File: mt-cmr.cfg 2013/05/19 v2.2 microtype config. file: Computer Modern Roman (
RS)
)
Package microtype Info: Loading generic protrusion settings for font family
(microtype) `NewCM10-Book.otf' (encoding: TU).
(microtype) For optimal results, create family-specific settings.
(microtype) See the microtype manual for details.
[1
{d:/texlive/2020/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] (./MWE.aux))
这表明我添加的命令正在执行某些操作,但我仍然收到该错误。有人能告诉我我做错了什么吗?我假设它在错误消息中给出的名称是告诉它使用 Computer Modern 设置的正确名称,但如果这是错误的,我该如何找到要使用的真实名称?
答案1
如果指定 NFSS 系列名称,则可以加载配置文件。
\documentclass{article}
\usepackage{unicode-math}
\usepackage{microtype}
\setmainfont{NewCM10}[
NFSSFamily=NewCMRoman,
Extension=.otf,
Numbers=OldStyle,
UprightFont=*-Book,
ItalicFont=*-BookItalic,
BoldFont=*-Bold,
BoldItalicFont=*-BoldItalic,
SlantedFont=*-Book,
SlantedFeatures={FakeSlant=0.25},
BoldSlantedFont=*-Bold,
BoldSlantedFeatures={FakeSlant=0.25},
SmallCapsFeatures={Numbers=OldStyle},
]
\setmathfont{NewCMMath-Book.otf}
\DeclareMicrotypeAlias{NewCMRoman}{LatinModernRoman}
\begin{document}
\end{document}
字体加载命令取自 加载的辅助包newcomputermodern.sty
。但是,这会丢失那里定义的所有其他调整和命令。
如果软件包作者能像我的代码一样简化字体加载过程(他的代码相当混乱)并提供一个姓氏,那就太好了。目前,newcomputermodern.sty
它非常死板,没有选择:接受或放弃。