哪些 Unicode 数学字体支持 \setminus?

哪些 Unicode 数学字体支持 \setminus?

我可以将什么放入包\setmathfont{<...>.otf}unicode-math以使其全部正常工作(使用 XeLaTeX 或 LuaLaTeX)?

有几条建议GitHub 页面unicode-math,但第一个选项是商业的,第二个和第三个不适用于以下示例:

% !TEX TS-program = xelatex

\documentclass{article}
\usepackage{unicode-math}
\setmathfont{latinmodern-math.otf}
% \setmathfont{texgyrepagella-math.otf}
% \setmathfont{xits-math.otf}

\begin{document}
$X\setminus Y$
\end{document}

我没有\setminus在输出中得到该字符。

\setminus如果我根本不设置数学字体,字符也会丢失(我不知道在这种情况下使用哪种字体)。它可以与一起使用,xits-math但我不喜欢它。

\setminus顺便问一下,字符留空而不给出任何警告,这是预料之中的吗?

答案1

大约十二年后,这个问题已经得到解决:https://github.com/wspr/unicode-math/issues/181#issuecomment-1675944769

我对这个问题的解决方案正是如此 - 使用“2216 为 \setminus,假 \smallsetminus,任何需要不同东西的人都可以使用一些单行重新定义(例如 \renewcommand\setminus{\reversesolidus} )。

使用最新的unicode-math,该命令\setminus可以正常工作。

答案2

拉丁现代数学、TeX Gyre Termes Math 和 TeX Gyre Pagella 中缺少这个符号,这很奇怪,可能值得报告错误。

您可以使用以下range选项来补充单个符号\setmathfont

\documentclass{article}
\usepackage{unicode-math}
%\setmathfont{Latin Modern Math} % default
\setmathfont[range=\setminus]{Asana Math}

\begin{document}
$X\setminus Y$
\end{document}

在此处输入图片描述

另一种可能性是将其用作\backslash二元运算符:

$X \mathbin{\backslash} Y$

给出

在此处输入图片描述

在这种情况下

\renewcommand{\setminus}{\mathbin{\backslash}}

将会\setminus执行预期的操作。但是,必须在文档开始时发出重新定义,因为unicode-math此时准备其内部数学符号表。

\documentclass{article}
\usepackage{unicode-math}
%\setmathfont{Latin Modern Math} % default

\AtBeginDocument{% to do this after unicode-math has done its work
  \renewcommand{\setminus}{\mathbin{\backslash}}%
}

\begin{document}
$X\setminus Y$
\end{document}

答案3

它适用于

\setmathfont{Asana-Math.otf}

或者如问题中所述,

\setmathfont{xits-math.otf}

正如评论中提到的那样,如果它不起作用,您会在日志中收到警告,例如 latinmodern:

Missing character: There is no ⧵ in font [latinmodern-math.otf]/ICU:script=math ;language=DFLT;!

答案4

解决此问题的一个可能方法(仍然存在)6年后) 是用来\smallsetminus替代的。

% !TEX TS-program = xelatex

\documentclass{article}
\usepackage{unicode-math}
\setmathfont{latinmodern-math.otf}
% \setmathfont{texgyrepagella-math.otf}
% \setmathfont{xits-math.otf}

\begin{document}
$X\smallsetminus Y$
\end{document}

给出:

XY 轴

如果你很懒的话,你甚至可以在序言末尾添加:

\AtBeginDocument{
\renewcommand{\setminus}{\smallsetminus}
}

相关内容