在数学模式下使用非数学字体中的素数符号

在数学模式下使用非数学字体中的素数符号

我可以从 Junicode(第二行和第四行)中获取素数,以便在数学模式下使用,而不必\text{′}每次都使用?也就是说,我可以让代码中的第一行(素数带有 ASCII 撇号)产生第二行和第四行的输出吗?

在包含带有 的字形之后setmathfont,素数太小且太高。

\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage[math-style=upright]{unicode-math}

\setmainfont{Junicode}
\setmathfont{Asana-Math.otf}
\setmathfont[
 range={"0370-"03FF,   % greek
 "0000-"003C,"003E-"007F},  % ascii range minus =
 ] {Junicode}

\begin{document}
$p'$\par
p′\par
$p′$\par
$p\text{′}$

\bigskip

\setmathfont[ range={"2032} ] {Junicode}

$p'$\par
p′\par
$p′$\par
$p\text{′}$
\end{document}

答案1

并不是真正可移植的,因为它需要知道 Junicode 对应于数学组 4。但是,p''不会给出非常漂亮的双素数。

\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage[math-style=upright]{unicode-math}

\setmainfont{Junicode}
\setmathfont{Asana-Math.otf}
\setmathfont[
 range={"0370-"03FF,   % greek
 "0000-"003C,"003E-"007F},  % ascii range minus =
 ] {Junicode}

\AtBeginDocument{%
  \Umathcode`'="0 "4 "2032
  \Umathcode`′="0 "4 "2032
}

\begin{document}

$p'$\par
p′\par
$p′$\par
$p\text{′}$

\end{document}

在此处输入图片描述

相关内容