我想STIX Two Math
在数学模式下输入一个带有竖线 (ƛ) 的 lambda,并带有字体。我在 unicode 表中检查过它有一个代码U+019B
,并且我确定STIX Two Math
包含这个字符。我试过了
\documentclass{article}
\usepackage{amsmath,unicode-math}
\setmathfont{STIX Two Math}
\begin{document}
$ \symbol{"019B} $, $ ƛ $
\end{document}
两者都没有输出任何内容。我的问题是如何在数学模式下输入它?
答案1
默认情况下unicode-math
不分配数学定义或ƛ
,但您可以自己赋予它数学代码:
您必须决定它应该具有哪个类、系列和代码点。由于我们的字体是 Unicode 编码的,因此代码点是0x019B
。由于 的ƛ
行为类似于希腊字母,我们可以将其视为与其他希腊字母相似,并在“运算符”系列中为其分配第 7 类(变量普通):
\Umathcode `ƛ 7 0 "019B
这引出了文件
\documentclass{article}
\usepackage{amsmath,unicode-math}
\setmathfont{STIX Two Math}
\Umathcode `ƛ 7 \symoperators "019B
\begin{document}
$ \symbol{"019B} $, $ ƛ $
\end{document}
可以正常工作:
答案2
\text
您可以在或中将其作为文本模式命令输入\textnormal
。默认情况下,Unicode 字符未针对数学模式定义,但您可以使用 自行将其设置为活动字符newunicodechar
。
\documentclass{article}
\tracinglostchars=2
\usepackage{amsmath,unicode-math}
\usepackage{newunicodechar}
\newfontface\symbolfont{STIX Two Math}
\setmathfont{STIX Two Math}
\newcommand\textlambdabar{{\symbolfont\symbol{"019B}}}
\newunicodechar{^^^^019b}{%
\ifmmode\mathalpha{\textnormal{\textlambdabar}}%
\else\textlambdabar%
\fi}
\begin{document}
$^^^^019b$, $ ƛ $
\end{document}