自定义字体不支持数学模式下的数字

自定义字体不支持数学模式下的数字

我尝试更改文档中的字体但遇到了一些问题:

  1. 看来我使用的自定义字体不支持数学模式下的数字(和符号),而是使用默认字体。
  2. 轴上出现了同样的问题:刻度值以默认字体显示,而不是以自定义字体显示。

我确信所有相关的字体(尤其是我用于数学的 Harding Text Web)都支持我在文档中所需的所有符号、希腊字母和数字。

我的目的是使用我电脑上安装的一些字体。我知道我可以将我的“系统”换成RobotoTeXroboto包。但是对于其他一些字体,这是不可能的。
我注意到:在 \mathrm 中使用 ASCII 符号(例如 sigma)是可行的,但 \sigma 无论如何都会恢复为默认字体。我没有看到自己查找所有符号和数字的所有 UTF/ASCII 代码...
我正在将 TeXShop 与 XeLaTeX 一起使用。

文件摘录

注意计算机现代中的零、无穷符号和希腊字母

我的代码:

\documentclass[12pt, oneside]{article}
\usepackage[a4paper, margin=1.5in]{geometry}
\usepackage[english]{babel}

%----- Custom font -------------
\usepackage{fontspec}
\setmainfont{Harding Text Web}
\setsansfont{Roboto} 
\setmonofont{Hack}
%-------------------------------


%----- Include maths -----
\usepackage{mathtools}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%-------------------------


%----- Sans math, math as text --------
\usepackage[italic]{mathastext}
\usepackage{sfmath}
%--------------------------------------


%----- Custom commands -------------
\newcommand{\T}{\textrm{\sf T}}
\newcommand{\A}{\mathbf{A}}
\newcommand{\B}{\mathbf{B}_\kappa}
\newcommand{\uk}{\mathbf{u}_\kappa}
\newcommand{\de}{\mathrm{d}}
\newcommand{\trace}{\mathrm{Tr}}
\newcommand{\Gramian}{\textbf{W}_{\rm c}}
\newcommand{\vect}{\mathrm{vec}}
%-----------------------------------


\begin{document}



\subsection*{Normalization}

$$ \A_{\rm norm} = \frac{\A}{\lambda(\A)_{\rm max} + c} - \textbf{I} $$
%
where $\lambda(\A)_{\rm max}$ denotes the largest eigenvalue of $\A$ and $\textbf{I}$ is the identity matrix. 

\subsection*{Controllability Gramian}

$$ \Gramian = \int_{0}^{\infty} \exp(\A\tau)\B\B^\T \exp(\A^\T\tau) \de \tau $$
%
where $^\T$ denotes the transpose of a matrix.

Alternatively, we can obtain the controllability Gramian $ \textbf{W}_{\rm c} $ by solving the Lyapunov equation:
%
$$ \A\textbf{W}_{\rm c} + \textbf{W}_{\rm c}\A^\T + \B\B^\T = 0$$
%
limitation being that it can be only applied to stable systems.

\end{document}

答案1

虽然我没有字体可以测试,但以下方法通常有效:

\usepackage{unicode-math}

\defaultfontfeatures{Scale=MatchUppercase}
\setmainfont{Harding Text Web}[Scale=1.0]
\setsansfont{Roboto} 
\setmonofont{Hack}
\setmathfont{STIX Two Math}
\setmathfont{STIX Two Math}[range={scr,bfscr}, StylisticSet=1] % Set up \mathscr and \mathcal
\setmathfont{Harding Text Web}[range=up}
\setmathfont{Harding Text Web Italic}[range=it] % Or whatever the Italic font is called.
\setmathfont{Harding Text Web Bold}[range=bfup]
\setmathfont{Harding Text Web Bold Italic}[range=bfit]
% Similarly set sfup, sfit, bfsfup, bfsfit and tt if you need them.

你可能会发现另一种数学字体与 Harding Text 更匹配。特别是,它具有较高的 x 高度、喇叭状的样式,并且避免了细茎。您可以尝试 TeX Gyre Bonum Math、TeX Gyre Schola Math 或 TeX Gyre DejaVu Math。

相关内容