我在文档中使用 LuaLaTeX 和 unicode-math。我直接在 unicode 中输入大多数简单符号(总和、乘积、希腊字母、量化等)(使用 emacs 的 agda 模式)。当我输入 unicode 字符“SCRIPT CAPITAL L”(U+2112)时,我在 pdf 中得到的是。我如何告诉 unicode-math 包,当它遇到 unicode 字符 U+2112 时,\mathscr L
我希望用 来代替?\mathcal L
理想情况下,我只想将一个选项传递给包,以便所有“SCRIPT ...”都使用\mathcal ...
而不是\mathscr ...
编辑。为了澄清起见,这里有一个 MWE:
\documentclass{minimal}
\usepackage{fontspec}%
\usepackage{unicode-math}
\setmathfont{Libertinus Math Regular}
\setmathfont{Latin Modern Math}[range={\mathscr}]
\setmathfont{TeX Gyre Pagella Math}[range={\mathcal}]
\begin{document}
Unicode input: $ℒ$
Mathcal input: $\mathcal L$
Mathscr input: $\mathscr L$
\end{document}
pdf 输出 3 个不同的 L,这让我相信 unicode 输入实际上在该示例中使用了\mathscr
。当包在源中遇到 U+2212 时,Libertinus Math Regular
如何告诉包我希望它使用哪个\mathcal
?TeX Gyre Pagella Math
答案1
range
有点喜怒无常,手写体和书法属于同一 Unicode 范围,这让它更有趣,但是
\documentclass{minimal}
\usepackage{fontspec}%
\usepackage{unicode-math}
\setmathfont{Libertinus Math Regular}
\setmathfont{TeX Gyre Pagella Math}[range=cal]
\setmathfont{Latin Modern Math}[range=scr]
\AtBeginDocument{
\Umathcode"2112= "0 4 "2112
}
\begin{document}
Unicode input: $ℒ$
Mathcal input: $\mathcal L$
Mathscr input: $\mathscr L$
$ℒ$ $\mathcal L $ $\mathscr L$
\end{document}