我在 Windows 上使用 XeTeX 和 fontspec 时,遇到了 LyX 中缺少字形的错误。错误是Missing character: There is no ^^C in font [lmroman10-regular]:mapping=tex-text;!
奇怪的是,LM Roman 10 字体实际上支持 Lambda 字符(https://fonts2u.com/lmroman10-regular.font)。
请帮忙!
TeX 中的 WME 是:
% Preview source code
%% LyX 2.3.1 created this file. For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage{fontspec}
\makeatother
\usepackage{babel}
\begin{document}
$\mathrm{\Lambda}$
\end{document}
LyX 中的 WME 只是添加\usepackage{fontspec}
到序言中,并$\mathrm{\Lambda}$
在文档正文中写入。
编辑:没有以下情况也会发生fontenc
:
% Preview source code
%% LyX 2.3.1 created this file. For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[english]{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage[variant=american]{english}
\begin{document}
$\mathrm{\Lambda}$
\end{document}
编辑2:已验证此问题也发生在 Ubuntu 上。
谢谢!
答案1
这有效:
\documentclass[english]{article}
\usepackage{babel}
\usepackage[no-math]{fontspec}
\begin{document}
$\mathrm{\Lambda}$
\end{document}
并且
\documentclass{article}
\usepackage[no-math]{fontspec}
\usepackage{polyglossia}
\setmainlanguage{english}
\begin{document}
$\mathrm{\Lambda}$
\end{document}
答案2
除了使用 选项加载外fontspec
,no-math
您还可以unicode-math
使用 来设置使用 Unicode 的数学字母表。您还可以使用 来设置mathastext
希腊字母,或者在 XeLaTeX 中,mathspec
或者对于旧版 NFSS 字体,isomath
。
您还可以将 Λ 复制并粘贴到您的 UTF-8 源中。
您收到有关缺少 003 个字符的消息的原因,或者^C
,是因为这是旧版中 Λ 的字符槽OML 编码,但在 Unicode 字体中,0x03 是控制字符,control-C。