我习惯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-math
TeX 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}