大家好:使用无衬线字体书写时,我遇到了一些符号问题。更具体地说:我加载了用于数学和文本的字体(下面示例中为 mtpro lite),还加载了用于无衬线的 Fira Sans。据我所知,Fira Sans 通过包 newtxsf 提供数学支持。
\documentclass[14pt, a4paper, reqno]{extarticle}
\usepackage[full]{textcomp}
\usepackage[T1]{fontenc}
\usepackage[lite]{mtpro2}
\usepackage[scale=0.85]{FiraSans}
\usepackage{newtxsf}
\renewcommand{\rmdefault}{ptm}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amstext}
\usepackage{amsthm}
\usepackage[all]{xy}
我的问题是:有没有办法在需要用无衬线字体输入的某些段落中获得完整的数学支持?例如,在使用时也可以获得带有数学符号的 Fira Sans \mathsf
。我尝试过使用和不使用 newtxsf,尝试过使用 sansmath 包,甚至尝试过不将 Fira Sans 指定为无衬线字体。有些符号显示不正确(在某些情况下是积分、希腊字母等)。谢谢。
答案1
如果我理解正确的话,你想要的是声明一个数学版本。这是一个使用现代工具链并使用 LuaLaTeX 或 XeLateX 进行编译的示例:
\documentclass{article}
\usepackage{unicode-math}
\defaultfontfeatures{Scale = MatchLowercase}
\setmainfont{TeX Gyre Termes}[Scale=1.0]
\setsansfont{Fira Go}
\setmathfont{TeX Gyre Termes Math}
\setmathfont[version=sans]{Fira Math}
\begin{document}
This paragraph uses a serif font. \( x = yz^2 \).
{\sffamily\mathversion{sans}
This paragraph uses a sans-serif font. \( x = yz^2 \).}
\end{document}
如果您必须在 PDFLaTeX 中使用传统的 8 位字体,则可以使用\DeclareMathVersion
和完成类似操作\SetMathAlphabet
,但您必须从要组合的两个包中查找不同的数学符号字体。请参阅“LaTeX2e 字体选择”