加载自定义“mathastext”字体会导致减号消失

加载自定义“mathastext”字体会导致减号消失

我习惯mathastext自定义我的数学字体及其符号。但是,使用它时,减号不再出现。

在此处输入图片描述

一个答案是使用\ang命令表示角度。这只有在我们用减号表示角度时才有效。但是,当我们在普通上下文中使用减号时,减号仍然不可见。

\documentclass{book}

\usepackage{etoolbox}

\usepackage[T1]{fontenc}
\usepackage{fontspec}

\usepackage{mathtools}
\usepackage[defaultmathsizes, italic, symbolre]{mathastext}

    \MTDeclareVersion[it]{times}{T1}{ptm}{m}{n}
    \AtBeginDocument{\MTversion*{times}}

\usepackage{siunitx}

\sisetup{round-mode=figures,round-precision=5}  
\sisetup{scientific-notation=engineering,exponent-product=\cdot,exponent-to-prefix=true}
\sisetup{zero-decimal-to-integer=true}

\renewcommand{\deg}{\SIUnitSymbolDegree}


\begin{document}

\[ \num{625}\angle-30 \]
\[ -x \]

\end{document}

fontspec此外,当数学字体应该由 和 控制时,\MTDeclareVersion为什么数学字体在启用/禁用时看起来会有所不同\MTversion*

答案1

这是 mathastext 的一个错误。当尝试使用“文本字体作为数学字体”为减号提供合理的定义时,它显然会丢失。您可以使用 nominus 选项来避免 mathastext 弄乱减号:

\documentclass{book}

\usepackage{etoolbox}

\usepackage{fontspec}

\usepackage{mathtools}
\usepackage[defaultmathsizes, italic, symbolre,nominus]{mathastext}

    \MTDeclareVersion[it]{times}{T1}{ptm}{m}{n}
    \AtBeginDocument{\MTversion*{times}}

\usepackage{siunitx}

\sisetup{round-mode=figures,round-precision=5}
\sisetup{scientific-notation=engineering,exponent-product=\cdot,exponent-to-prefix=true}
\sisetup{zero-decimal-to-integer=true}

\renewcommand{\deg}{\SIUnitSymbolDegree}


\begin{document}

\[ \num{625}\angle-30 \]
\[ -x \]

\end{document}

答案2

unicode-mathTeX Gyre Termes (时代)

\documentclass{book}
\usepackage{mathtools}
\usepackage{siunitx}
\sisetup{round-mode=figures,round-precision=5}  
\sisetup{scientific-notation=engineering,exponent-product=\cdot,exponent-to-prefix=true}
\sisetup{zero-decimal-to-integer=true}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Termes}
\setmathfont{texgyretermes-math.otf}
\renewcommand{\deg}{\SIUnitSymbolDegree}
\begin{document}

    \[ \num{625}\angle-30 \]
    \[ -x \]

\end{document}

在此处输入图片描述

相关内容