我正在使用软件包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
。
您还应该看看这个讨论:用无衬线字体排版数学符号吗?