如何在数学表达式中将 lxfonts 的圆角字母与系统安装的字体混合

如何在数学表达式中将 lxfonts 的圆角字母与系统安装的字体混合

我发现将数学表达式中的系统安装字体与圆角字母混合的唯一方法lxfonts是将每个数字包装在 中\text{},如下所示:

\documentclass[a4paper,12pt]{article}
\usepackage{fontspec}
\setmainfont{Ubuntu}
\usepackage{amssymb}
\usepackage{amsmath}

\usepackage{lxfonts}
\begin{document}
\fontspec{Ubuntu}
$\text{7}x - \text{1} = \text{13}$
\end{document}

这将编译成以下(期望的)输出:

具有正确字体的方程式

问题

我想找到一种更简单的方法来获得相同的结果,而不使用这些\text{}来包装数字。

困难

lxfonts必须在最后的位置加载,但我尝试使用的其他包确实取消了它的效果。

我希望能够lxfonts在数学模式下使用字母,但它看起来并不完全像另一种字体那样工作(或者也许我没有正确使用它?)。

失败的尝试

  • 使用unicode-math,减号将丢失(所以其他运算符可能也是如此?),并且lxfonts效果将被取消。

    \documentclass[a4paper,12pt]{article}
    \usepackage{fontspec}
    \usepackage{unicode-math}
    \setmainfont{Ubuntu}
    \setmathfont{Ubuntu}
    \setmathfont[range=\mathup]  {Ubuntu}
    \setmathfont[range=\mathbfup]{Ubuntu Bold}
    \setmathfont[range=\mathbfit]{Ubuntu Bold Italic}
    \setmathfont[range=\mathit]  {Ubuntu Italic}
    \usepackage{lxfonts}
    \begin{document}
    \fontspec{Ubuntu}
    $7x - 1 = 13$
    \end{document}
    

    在此处输入图片描述

  • 使用mathastext,结果有些相反(数字不是 Ubuntu,字母是 Ubuntu)。

    \documentclass[a4paper,12pt]{article}
    \usepackage{fontspec}
    \setmainfont{Ubuntu}
    \usepackage{mathastext}
    \usepackage{lxfonts}
    \begin{document}
    \fontspec{Ubuntu}
    $7x - 1 = 13$
    \end{document}
    

    在此处输入图片描述

答案1

您应该避免在 fontspec 之后加载用于 pdflatex 的字体包。它们经常会破坏 fontspec 设置。在这种情况下,即使在之前加载它也无法避免所有问题,因为 lxfonts 会在 中设置字体\AtEndPreamble

我没有 Ubuntu 字体,因此我使用红色 Arial 代替。

\documentclass[a4paper,12pt]{article}

\usepackage{lxfonts}
\usepackage[no-math]{fontspec}

\AtEndPreamble{\setmainfont{Arial}[NFSSFamily=arial,Color=FF0000]}

\usepackage{amssymb}
\usepackage{amsmath}

\DeclareSymbolFont{mynumbers}      {TU}{arial}{m}{n}
\SetSymbolFont    {mynumbers}{bold}{TU}{arial}{bx}{n}

\AtBeginDocument{
\DeclareMathSymbol{0}{\mathalpha}{mynumbers}{`0}
\DeclareMathSymbol{1}{\mathalpha}{mynumbers}{`1}
\DeclareMathSymbol{2}{\mathalpha}{mynumbers}{`2}
\DeclareMathSymbol{3}{\mathalpha}{mynumbers}{`3}
\DeclareMathSymbol{4}{\mathalpha}{mynumbers}{`4}
\DeclareMathSymbol{5}{\mathalpha}{mynumbers}{`5}
\DeclareMathSymbol{6}{\mathalpha}{mynumbers}{`6}
\DeclareMathSymbol{7}{\mathalpha}{mynumbers}{`7}
\DeclareMathSymbol{8}{\mathalpha}{mynumbers}{`8}
\DeclareMathSymbol{9}{\mathalpha}{mynumbers}{`9}
}

\begin{document}
1234 x \textit{x}

$1234567890x - 1  = 13$

\boldmath
$1234567890$
\end{document}

在此处输入图片描述

相关内容