我必须使用出版商风格(关联),我在使用基本示例时遇到了问题。我按照建议使用 LuaTeX。XeTeX 也出现了同样的问题,但 pdfTeX 没有出现问题。
以下是从提供的模板中提取的 MWE:
\documentclass{article}
\usepackage[charter]{mathdesign}
\begin{document}
\end{document}
问题:
LaTeX Font Warning: Font shape `TU/mdbch/m/n' undefined
(Font) using `TU/lmr/m/n' instead on input line 105.
我能做些什么吗,或者这种字体在这种设置下根本就不可用?如果是这样,最好的办法是什么,问问模板作者?我这么说是因为我希望提供的示例能够完美运行,至少在推荐的设置(LuaTeX)下是这样。
我的理解是,这/m/n
不是一些不起作用的奇怪组合,而是“正常”字体,问题出在编码(TU
),但我对这些东西不太了解。
答案1
LuaLaTeX 的默认输出字体编码是TU
,但您想要T1
:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[charter]{mathdesign}
\begin{document}
Hello
\end{document}
fontspec
加载时收到的警告是虚假的,不应产生任何后果。加载fontenc
是不必要的,甚至可能导致错误的输出。
\documentclass{article}
% fix for the spurious warning issued by
\DeclareFontFamily{TU}{mdbch}{}
\DeclareFontShape{TU}{mdbch}{m}{n}{
<-> \UnicodeFontFile{lmroman10-regular}{\UnicodeFontTeXLigatures}
}{}
\usepackage[charter]{mathdesign}
\usepackage{fontspec}
\setmainfont{XCharter}
\begin{document}
Hello
\end{document}
答案2
在样式文件的最新版本中,这个问题有一个不同的解决方法。事实证明,并非所有字体或包都尚未准备好进行编码TU
。在这种情况下,一切都正常EU
,因此,暂时EU
编码被强制为fontspec
但对于当前版本使用的解决方法将包括以下内容:
\PassOptionsToPackage{euenc}{fontspec}
\documentclass[english,submission]{programming}
%...
使用编码时,@egreg 的变体似乎是正确的TU
,但我宁愿等待XCharter
包真正与之兼容TU
。
编辑:免责声明:我是该风格的作者。