kpfonts
我在论文中使用它的light
变体。不过,我不太喜欢它的无衬线变体,因为它太粗,与浅色衬线字体融合得不好。在寻找另一种无衬线字体时,我找到了 Montserrat 字体,它的light
选项非常好,并且对于变体中的全大写标题来说看起来非常好extralight
。
问题是该montserrat
软件包不提供任何数学支持,所以如果我\mathsf
在数学公式中输入任何内容,我都会得到kpfonts
无衬线数学字体。另一方面,Montserrat 的字母和数字在数学模式下看起来也很好(在极少数情况下,人们希望呈现无衬线数学)。
这里有一个例子可以让你了解我的意思。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[light,onlyrm]{kpfonts}
\usepackage[light,scale=0.85]{montserrat}
\usepackage[sf,uppercase]{titlesec}
\newcommand*\elseries{\fontseries{el}\selectfont}
\titleformat*{\section}{\sffamily\elseries\large}
\begin{document}
\section{Section Title}
A little piece of text, \textsf{with some sans serif parts}, and some math:
\begin{equation*}
e^{i\pi}+1=0
\end{equation*}
Plus some sans serif math:
\begin{equation*}
\mathsf{e^{i\pi}+1=0}
\end{equation*}
Good looking sans serif math:
\begin{equation*}
\text{\textsf{e}}^{\text{\textsf{i}}\pi} + \text{\textsf{1}} =
\text{\textsf{1}}
\end{equation*}
\end{document}
那么,有没有办法伪造数学支持并使用montserrat
无衬线数学的字形,至少对于数字和拉丁字母来说?我更愿意坚持使用可行的解决方案pdflatex
。
编辑:请注意,Montserrat 字体本身似乎没有希腊字形,也没有任何与数学相关的功能。但是,如果您查看无衬线数学字体kpfonts
,您会注意到唯一真正的区别在于数字和拉丁字母,因此希腊字母和其他符号在正常数学模式和中看起来并没有什么不同\mathsf
,对我来说这没问题。所以要真正实现我想要的,我只需要将字形替换为数字和拉丁字母。
答案1
您可以轻松地将 \mathsf 映射到 montserrat。但除了章节标题中的一些数学知识外,我不明白您为什么要将数字等写成无衬线字体。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[light,onlyrm]{kpfonts}
\usepackage[light,scale=0.85]{montserrat}
\usepackage[sf,uppercase]{titlesec}
\newcommand*\elseries{\fontseries{el}\selectfont}
\titleformat*{\section}{\sffamily\elseries\large}
\SetMathAlphabet{\mathsf} {normal}{T1} {Montserrat-LF} {l}{n}
\begin{document}
\section{Section Title}\makeatletter
A little piece of text, \textsf{with some sans serif parts}, and some math:
\begin{equation*}
e^{i\pi}+1=0
\end{equation*}
Plus some sans serif math:
\begin{equation*}
\mathsf{e^{i\pi}+1=0}
\end{equation*}
Good looking sans serif math:
\begin{equation*}
\text{\textsf{e}}^{\text{\textsf{i}}\pi} + \text{\textsf{1}} =
\text{\textsf{1}}
\end{equation*}
\begin{equation*}
\mathsf{e}^{\mathsf{i}\pi} + \mathsf{1} =
\mathsf{1}
\end{equation*}
\end{document}