本地将字体样式从 sfmath 更改为 amsmath

本地将字体样式从 sfmath 更改为 amsmath

我正在使用软件包sfmath。很难解释原因,但原因对我的问题来说并不重要。如果需要,我可以尝试解释为什么我需要sfmath。然而,主要信息是它无法关闭。

尽管我正在使用sfmath,但我确实想在 的数学模式中使用典型的“a” amsmath。我该如何实现这一点?

是否可以更改单个单词/字母的字体样式,以便我可以在需要时根据命令在本地更改字体样式?

为了说明目的,一个简单的工作示例如下所示:

\documentclass{article}

\usepackage{sfmath}
\usepackage{amsmath}

\begin{document}

\begin{equation}
 a = a
\end{equation}

\end{document}

sfmath似乎被推翻了,amsmath因为它没有产生我想要的“a”。上面的代码导致:

在此处输入图片描述

而较低的“a = a”是通过关闭获得的,sfmath以便说明我想要包含的“a”。

非常感谢!

答案1

那么您可以定义一个切换到标准字体的数学命令:

\documentclass{article}

\usepackage{sfmath}
\usepackage{amsmath}
\DeclareSymbolFontAlphabet{\mathori}    {letters}
\begin{document}

\begin{equation}
 a = \mathori{a}
\end{equation}

\end{document}

您还可以将“a”的字体重置回“正常”(这在“本地”不起作用):

\documentclass{article}

\usepackage{sfmath}
\usepackage{amsmath}
\DeclareMathSymbol{a}{\mathalpha}{letters}{`a}
\begin{document}

\begin{equation}
 a = a
\end{equation}

\end{document}

答案2

来自以下评论sfmath.sty

% After including the package sfmath.sty, all maths of the current
% document is displayed with sans serif fonts; there is no way to
% switch back to the original behavior.

该样式通过覆盖所有标准数学字体命令来工作,因此不会保留对原始数学字体的访问。默认情况下,这些字体是计算机现代字体或拉丁现代字体。正如许多人在评论中指出的那样,它amsmath不是一个字体更改包,它有一个相近的版本amsfonts,但它主要在计算机现代符号之上提供额外的符号。

可以为您提供无衬线数学形式并允许切换的软件包是sansmath。这里有一个小例子:

示例输出

\documentclass{article}

\usepackage{sansmath}

\begin{document}

\begin{equation}
  a = a \ne \mathsf{a}
\end{equation}

\begin{sansmath}
  \begin{equation}
    a = a \ne \mathsf{a} \ne \mathit{a}
  \end{equation}
\end{sansmath}

\end{document}

请注意如何使用\mathit来获取标准a

您还应该看看这个讨论:用无衬线字体排版数学符号吗?

相关内容