如何将 PSNFSS 分布系列中的字体设置为主要数学字体?

如何将 PSNFSS 分布系列中的字体设置为主要数学字体?

该声明的\DeclareMathAlphabet{cmd}{encoding}{family}{series}{shape}作用是创建一个新命令,其参数将是声明中指定的字体。PSNFSS 发行系列可与其配合使用。

不过,我想获得一种使用以下代码声明全局数学字体的简单方法

\usepackage[]{mathspec}

        \newcommand{\mainmathfont}{TeX Gyre Termes}
        \setmathsfont(Latin)[]{\mainmathfont}
        \setmathsfont(Greek)[]{\mainmathfont}
        \setmathsfont(Digits)[]{\mainmathfont}

但看起来它只适用于TeX GyreCourierComputer Modern字体系列。我该如何修改上述命令以全局自定义数学字体?

这是我的源代码

\documentclass[]{book}
\usepackage[T1]{fontenc}

\usepackage{amsmath}
\usepackage{amssymb, amsfonts}


\DeclareMathAlphabet{\mathsf}{OT1}{pzc}{m}{n}

\usepackage[]{mathspec}

        \newcommand{\mainmathfont}{TeX Gyre Termes}
        \setmathsfont(Latin)[]{\mainmathfont}
        \setmathsfont(Greek)[]{\mainmathfont}
        \setmathsfont(Digits)[]{\mainmathfont}

\begin{document}


\begin{equation}
    \sum\limits_{i=1}^{\left[ \frac{n}{2} \right]}{\left(\substack{{x_{i, i+1}^{i^{2}}} \\ \\ {\left[ \frac{i+3}{3} \right]}}\right)}
    \frac{\sqrt{\mu(i)^{\frac{3}{2}}\left( i^{2} - 1 \right)}}{\sqrt[3]{\rho(i)-2} + \sqrt[3]{\rho(i)-1}} \Omega
\end{equation}

\[
\int_{\mathcal{D}} | \overline{\partial u} |^{2}
\Phi_{0}(z) e^{\alpha |z|^2}
\geq c_{4} \alpha \int_{\mathcal{D}} |u|^{2}\Phi_{0}
e^{\alpha |z|^{2}}
+ c_{5} \delta^{-2} \int_{A} |u|^{2}
\Phi_{0} e^{\alpha |z|^{2}}
\]

$\alpha \medspace \beta \medspace \gamma \medspace \delta \medspace \epsilon \medspace \varepsilon \medspace \zeta \medspace \eta \medspace \theta \medspace \vartheta \medspace \iota \medspace \kappa \medspace \lambda \medspace \mu \medspace \nu \medspace \xi \medspace \pi \medspace \sigma \medspace \varsigma \tau \medspace \upsilon \medspace \phi \medspace \varphi \medspace \chi \medspace \psi \medspace \omega \medspace \Delta \medspace \Xi \medspace \Phi \medspace \Omega \medspace \Psi$

$[1], \thinspace [2], \thinspace [3], \thinspace [4], \thinspace [5], \thinspace [6], \thinspace [7], \thinspace [8], \thinspace [9]$

\begin{equation}
    \mathbf{A} =
        \begin{pmatrix}
            \dfrac{\varphi \cdot X_{n, 1}} {\varphi_{1} \times
                \varepsilon_{1}} & (x + \varepsilon_{2})^{2}
            & \cdots & (x + \varepsilon_{n - 1})^{n - 1}
            & (x + \varepsilon_{n})^{n}\\[10pt]
            \dfrac{\varphi \cdot X_{n, 1}} {\varphi_{2} \times
                \varepsilon_{1}} & \dfrac{\varphi \cdot X_{n, 2}}
            {\varphi_{2} \times \varepsilon_{2}} & \cdots &
            (x + \varepsilon_{n - 1})^{n - 1}
            & (x + \varepsilon_{n})^{n}\\
            \hdotsfor{5}\\
            \dfrac{\varphi \cdot X_{n, 1}} {\varphi_{n} \times
                \varepsilon_{1}} & \dfrac{\varphi \cdot X_{n, 2}}
            {\varphi_{n} \times \varepsilon_{2}} & \cdots
            & \dfrac{\varphi \cdot X_{n, n - 1}} {\varphi_{n}
                \times \varepsilon_{n - 1}} &
            \dfrac{\varphi\cdot X_{n, n}}
            {\varphi_{n} \times \varepsilon_{n}}
        \end{pmatrix}
    + \mathbf{I}_{n}
\end{equation}

\begin{equation}
I = I_{ ph } -  
\overbrace{
    I_{ rs }
    \biggl[
    \mathrm{exp} \biggl(
    \frac{V + I R_{s}}{a \thinspace V_{t}}
    \biggl) - 1   
    \biggl]
    % overbrace title
}^{ I_{d} }
-
\overbrace{
    \frac{V + I R_{s}}{R_{p}}
    % overbrace title
}^{I_{p}}
%
\label{eq:I_PV_m}
\end{equation}



\begin{equation}
P_{e, \thinspace WT} =
    \left \{
        %
        \begin{aligned}
            %
            & 0  &   & v_{w} \thinspace < \thinspace v_{ci} 
            \\
            & P_{GCR} (v_{w}) \quad   & v_{ci} \thinspace \leq \thinspace &  v_{w} \thinspace \leq v_{r} 
            \\
            & P_{r, \thinspace WT}   & v_{r} \thinspace \leq \thinspace  &  v_{w} \thinspace \leq v_{co}
            \\
            & 0  &   & v_{w} > \thinspace v_{co}
            %
        \end{aligned}
    %
    \right.
%
\label{eq:WTPSC}
\end{equation} 

\begin{equation}
%
    \begin{aligned}
        %
        PMSE_{av} &= \frac{Mean \ Square \ Error}{Average \ of \ Estimations} \times 100\%
        \\
        & = \frac{ \displaystyle
            \frac{1}{n} \sum \limits_{i=1}^{n} {(x_{i}-y_{i})^2}
        }
        { \displaystyle
            \sum\limits_{i=1}^{n} {y_{i}}
        } \times 100\%  
        %
    \end{aligned}
%
\label{eq:PMSE_av}
\end{equation}

\begin{equation}

答案1

简短答案

mathastext在以下约束下使用包:

  1. mathastext加载所有数学字体相关包后加载
  2. 如果你正在使用包,那么你必须使用选项fontspec加载它 no-math

\MTDeclareVersion[<ltsh>]{<name>}{<enc>}{<fam>}{<ser>}{<sh>}

此命令声明某些“数学版本”的类型

<ltsh>:字母和小希腊字母的形状

<name>:正在声明的数学字体类型的名称

<enc>:所需的编码

<fam>: 字体系列

<ser>:字体系列类型

<sh>:数字和大写希腊字母的形状

\MTversion*{<name>}

此命令允许使用在强制参数中给出名称的数学版本。

  • 例子

\MTDeclareVersion[it]{AvantGarde}{T1}{pag}{m}{n}\MTversion*{AvantGarde}给出此处显示的数学方程

在此处输入图片描述

上述公式仅供参考。

长答案

mathastext软件包将数学模式中使用的字体更改为文本模式中可以使用的几乎任何字体。mathastext如其文档所示,加载会为下标设置更大的尺寸。使用defaultmathsizes有助于保留默认的下标大小

  • 重要mathastext选项:

subduedmathastext仅通过启用数学版本即可激活。使用此选项以及defaultmathsizes使显示的数学几乎就像mathastext没有加载一样

禁用命令mathastext的授权,并仅在明确命令\mathxx后启用它们\MTversion

重要提示:如果启用此选项,强烈建议明确设置并使用数学版本。否则,字体中可能会出现意外结果。

italic:指定数学字母是否默认为斜体(这不会影响希腊字母,除非LGRgreek加载并且柔和不是)

symbolgreekLGRgreek:使用粗体直立的 Adob​​e Postscript 希腊字母(如果或处于活动状态则不起作用subdued

eulergreek:使用欧拉字体的希腊字母(如果 LGRgreek 或 subdued 处于活动状态则不起作用)

LGRgreekLGRgreek:使用粗体和直立的希腊字母 Adob​​e Postscript 希腊字母(如果或柔和处于活动状态则不起作用)

itgreekupgreek:指定小写希腊字母是斜体还是直立

itGreekupGreek:指定大写希腊字母是否为斜体或直立

symbolmisc:用外观更好的新符号(例如更粗)替换旧符号

比较新品

在此处输入图片描述

和旧的

在此处输入图片描述

symbolmisc定义了四个新符号

在此处输入图片描述

可以使用$\shortiff \longto \inftypsy \proptopsy$

symbolre:重新定义\re\im更好地看待

比较新品

在此处输入图片描述

和旧的

在此处输入图片描述

它还提供了\DotTriangle符号

在此处输入图片描述

  • 粗体和斜体样式mathastext命令

\mathnormalbold{<exp>}:为其参数提供粗体字体 重要提示:最好使用此命令而不是\bm因为\mathnormalbold可以直接访问粗体版本,\mathnormal并且它更紧凑

在此处输入图片描述

\MTmathoperatorsdonotobeymathxx\MTnonlettersdonotobeymathxx, 和\MTeasynonlettersdonotobeymathxx

\MTmathoperatorsdonotobeymathxx:指定数学运算符(例如sin)不会遵循数学\mathbf\mathit

\MTnonlettersdonotobeymathxx:指定数学非字母(! ? , : ; + - = ( ) [ ] < >)不会遵循\mathbf\mathit(默认)

\MTeasynonlettersdonotobeymathxx:指定数学简单非字母(. / | \ # $ % &)不遵循\mathbf\mathit

\MTmathoperatorsobeymathxx\MTnonlettersdonotobeymathxx, 和\MTeasynonlettersobeymathxx

\MTmathoperatorsobeymathxx:指定数学运算符(例如sin)将遵循数学\mathbf\mathit(默认)

\MTnonlettersobeymathxx: 指定数学非字母(! ? , : ; + - = ( ) [ ] < >)将遵循\mathbf\mathit(当不与 \left 或 \right 一起用作分隔符时)% 重要提示:此选项可能会引起与其他软件包的一些兼容性问题

\MTeasynonlettersobeymathxx:指定数学简单非字母(. / | \ # $ % &)将遵循\mathbf\mathit(默认)

比较默认选项:

在此处输入图片描述

使用非默认的:

在此处输入图片描述

\begin{align}
&\mathbf{\sin\left(x+y\right) = \left<\right> \cos(z-t)} / >
\\
&\mathbf{! \medspace ? \medspace , \medspace : \medspace ; \medspace + \medspace - \medspace = \medspace ( \medspace ) [ \medspace ] \medspace < \medspace >}
\\
& \mathbf{. \medspace / \medspace | \medspace \backslash \medspace \# \medspace \$ \medspace \% \medspace \&}
\end{align}


\MTmathoperatorsdonotobeymathxx

\MTnonlettersobeymathxx

\MTeasynonlettersdonotobeymathxx

\vspace{-1.5\baselineskip}


\begin{align}
&\mathbf{\sin\left(x+y\right) = \left<\right> \cos(z-t)} / >
\\
&\mathbf{! \medspace ? \medspace , \medspace : \medspace ; \medspace + \medspace - \medspace = \medspace ( \medspace ) [ \medspace ] \medspace < \medspace >}
\\
& \mathbf{. \medspace / \medspace | \medspace \backslash \medspace \# \medspace \$ \medspace \% \medspace \&}
\end{align}

答案2

要使用psnfss字体作为数学字体,请加载相关包,例如newtxmathnewpxmath。您可能需要使用包选项来仅加载数学字体。然后加载您选择的文本包,进行fontenc适当设置,或\usepackage[no-math]{fontspec}

您需要加载mathspec以将数学字母设置为 OpenType 字体,例如 AMS Euler,但使用 Palatino 的斜体字母和文本字体的数字。(与 类似eulerpx,但使用 OpenType 字体。)您可以将 OpenType 或 TrueType 字体与 一起使用\setmathsfont,而不是设置fontenc

另一个允许您在数学模式中使用旧文本字体的选项是mathastext。该isomath软件包还提供全面的字体系列作为软件包选项。正如 David Carslisle 在评论中提到的那样,如果您坚持使用 NFSS 文本字体,则连字符可能无法在 xetex 中正常工作。

然而,我的个人建议(一些分数较高的常客不同意!)是unicode-math在可以使用时使用,只有在必须使用时才使用传统编码。

相关内容