LuaLaTeX + 从 OTF 文件中加载一个特定的数学符号

LuaLaTeX + 从 OTF 文件中加载一个特定的数学符号

我尝试从 OpenType 字体文件中加载一个符号并在数学环境中使用它。但是,在我看来,我只能在“普通”文本中使用该符号,而不能在数学模式下使用该符号。这是一个最简单的例子:

\documentclass{article}

\usepackage{fontspec}
\usepackage{unicode-math}

\setmainfont{Latin Modern Roman}
\setmathfont{Latin Modern Math}
\newfontfamily\foo{Untitled1.otf}

\newcommand{\foobar}{\foo\symbol{1}}

\begin{document}
\foobar
\[x \foobar y\]
\end{document}

在普通文本中会出现符号,但在数学模式下则不会出现。我是否必须使用一些特殊命令来加载数学环境的符号?

或者反过来。我如何排版一个公式,其中公式的第一部分用字体 A 输入,而第二部分用字体 B 输入(其中 A != B)?

更新

这个问题针对的是以下问题。我创建了一个新符号,但 Unicode 中尚不清楚它是否可用。因此,我创建了一个新符号并将其保存在文件 Untitled1.otf 中。现在我想将此符号加载到我的文档中并在数学公式中使用它。由于该符号在 Unicode 中尚不清楚,因此我无法使用“标准”符号来引用它。因此,我想使用命令并通过 OTF 文件的索引引用该符号。

答案1

仅对于一个符号,可能不值得进行数学设置,只需将其定义为

\newcommand{\foobar}{\text{\foo\symbol{1}}}

因此它将使用文本字体设置在数学模式下工作。(如果您需要它在下标中变小,请加载amsmath将定义的字体\text来执行此操作)。

答案2

在此示例中,第一个 1 取自拉丁现代数学,所有其他的 1 取自 XITS 数学:

\documentclass{article}
\usepackage{unicode-math}

\setmainfont{Latin Modern Roman}
\setmathfont{XITS Math}

\begin{document}
{\setmathfont[range="0031]{Latin Modern Math}
\[x 1 y\] }
\[x 1 y\]
\end{document}

另一个例子:

\documentclass{article}
\usepackage{unicode-math}

\setmainfont{Latin Modern Roman}
\setmathfont[version=XITS]{XITS Math}
\setmathfont[version=LMM]{Latin Modern Math}
\begin{document}
\mathversion{XITS}
\[x \mbox{\mathversion{LMM}$1$} y\] 
\[x 1 y\]
\end{document}

相关内容