由 $-6$ 创建的减号字体(数学模式下的连字符)

由 $-6$ 创建的减号字体(数学模式下的连字符)

我想为所有减号指定字体(在下面的例子中为:Times New Roman),无论它们是用 Unicode 字符“2212 创建的还是用数学模式中的连字符创建的。

如果我将“2212”添加到的范围选项中\setmathfont,则当我使用正确的Unicode字符“减号”编写文本时,它就会起作用。请参见我的示例中的前两个6。

但是当我写 $-6$(这里 - 是一个普通的连字符)时,输出是正确的减号,但不是 Times New Roman。请参见我示例中的最后一个 6。

\documentclass{article}
\RequirePackage[silent]{fontspec}
\setmainfont{Times New Roman}
\RequirePackage{unicode-math}
\setmathfont{STIXTwoMath}[]
\setmathfont{Times New Roman}[ range = { up/{num,latin,Latin}, "2212 } ]

\begin{document}

%% Minus ("2212) in source code:
−6 and $−6$

%% Hyphen ("002D) in source code:
-6 and $-6$ 

\end{document}

输出:

在此处输入图片描述

有谁知道如何才能“访问” $ 环境中的连字符?

答案1

我不确定为什么会这样,但是如果您说range = { "2212, \minus },它就有效,但您确实需要说明"2212\minus

\documentclass{article}
\RequirePackage[silent]{fontspec}
\setmainfont{Times New Roman}
\RequirePackage{unicode-math}
\setmathfont{STIX Two Math}
\setmathfont{Times New Roman}[ 
    range = { "2212, \minus } 
]

\begin{document}

%% Minus ("2212) in source code:
−6 and $−6$

%% Hyphen ("002D) in source code:
-6 and $-6$ 

\end{document}

在此处输入图片描述

因此,您可能需要执行类似这样的操作来为加号和减号选择相同的字体:

\documentclass{article}
\RequirePackage[silent]{fontspec}
\setmainfont{Times New Roman}
\RequirePackage{unicode-math}
\setmathfont{STIX Two Math}
\setmathfont{Times New Roman}[ 
    range = { "2212, \minus, "002B } 
]

\begin{document}

-6 and $-6$ 

+6 and $+6$ 

\end{document}

在此处输入图片描述

答案2

我建议你写\textnormal{-}

在此处输入图片描述

\documentclass{article}
\RequirePackage{unicode-math}
\setmainfont{Times New Roman}
\setmathfont{STIXTwoMath}[]
\setmathfont{Times New Roman}[ range = { up/{num,latin,Latin}, "2212 } ]

\begin{document}

%% Minus ("2212) in source code:
−6 and $−6$

%% Hyphen ("002D) in source code:
-6 and $\textnormal{-}6$ 

\end{document}

相关内容