我有一份包含多个包含数学表达式的表格的文档。虽然我想使用罗马字体来显示普通文本,但表格内的所有内容都应为无衬线字体。因此,我加载了 -packagesansmath
并打开\sffamily
以及\sansmath
确保在文本和数学模式下使用无衬线字体。
我使用的字体来自newtxtext
和包newtxsf
。当所有三个包(字体和sansmath
)都加载时,奇怪的事情发生了:
\documentclass{article}
\usepackage{newtxtext}
\usepackage{newtxsf}
\usepackage{sansmath}
%----------------------------------
\begin{document}
\section{Without sansmath}
If just sffamily (without sansmath) is active, everything in the tabular but the formula in the left column will be set in the sans-serif font.\\[1ex]
{\sffamily
\begin{tabular}[t]{ll}
Math & Text\\\hline
$4/2=2$ & 4/2=2\\
\end{tabular}
}
\section{With sansmath}
If both sffamily and sansmath are active, everything in the tabular (including the formula in the left column) will be set in the sans-serif font. Now, however, the formula is rendered incorrectly: ``$4/2$'' is contracted to ``$42$''.\\[1ex]
{\sffamily
\sansmath
\begin{tabular}[t]{ll}
Math & Text\\\hline
$4/2=2$ & 4/2=2\\
\end{tabular}
}
\end{document}
如果您编译 MWE,您将看到,如果\sansmath
未激活,则 sans-serif 字体仅在文本模式下使用。如果处于活动状态,则数学模式中的所有内容也将使用 sans-serif 字体 - 但/
公式中的运算符已消失。现在,注释掉\usepackage{newtxsf}
并再次编译,即可看到所有内容都符合预期(第一个示例中,除了使用 sans-serif 的公式之外的所有内容,以及第二个示例中使用 sans-serif 的所有内容,且公式完整)。
这是一个错误,还是我遗漏了什么?