![如何将另一种无衬线数学字体与 Helvet 字体结合用于文本?](https://linux22.com/image/296589/%E5%A6%82%E4%BD%95%E5%B0%86%E5%8F%A6%E4%B8%80%E7%A7%8D%E6%97%A0%E8%A1%AC%E7%BA%BF%E6%95%B0%E5%AD%A6%E5%AD%97%E4%BD%93%E4%B8%8E%20Helvet%20%E5%AD%97%E4%BD%93%E7%BB%93%E5%90%88%E7%94%A8%E4%BA%8E%E6%96%87%E6%9C%AC%EF%BC%9F.png)
现存的问题将整个文档排版为无衬线字体,包括数学模式使用该sansmath
包在数学模式下也能使用helvet
字形。但由于不是为数学模式设计的,结果看起来并不令人信服。
根据这个免费数学字体调查,似乎可以使用另一种字体(提到cmbright
和lxfonts
类似地)用于数学模式与helvet
文本模式的组合。但是,我找不到有关如何正确设置文档的指针。(如何)可以做到?
强制性的 MWE:
\documentclass{article}
\usepackage{helvet} % for text-mode
\renewcommand{\familydefault}{\sfdefault}
% \usepackage{cmbright} % one of these for...
% \usepackage{lxfonts} % math-mode only
\usepackage[math]{blindtext}
\begin{document}
\blindmathpaper
\end{document}
答案1
更新,使用sansmathfonts
而不是sansmath
一年后,我终于找到了一种基于helvet
文本的文档的文本和数学字体的组合。来源:Egreg 的回答我的问题arev 的下标位置很奇怪。
结果
新代码
\documentclass{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{sansmathfonts}
%\usepackage[scaled=0.86]{beramono} % for code listings
\usepackage[scaled=0.95]{helvet}
\renewcommand{\rmdefault}{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage[math]{blindtext}
\begin{document}
\blindmathpaper
\end{document}
旧 ( helvet
+ arev
)
我应该读一下调查链接我提供了更仔细的信息。作者非常好,不仅提供了比较pdf
,还提供tex
了每个字体组合的比较。他解释了如何组合数学字体阿雷夫文本字体为英雄,这是一个海尔维提卡tgheros
克隆。因此,只要从到稍作更改helvet
,我的工作示例就变成:
\documentclass{article}
\usepackage{arev} % sans-serif math font
\usepackage{helvet} % sans-serif text font
\renewcommand{\rmdefault}{\sfdefault}
\usepackage[math]{blindtext}
\begin{document}
\blindmathpaper
\end{document}
答案2
这手册sansmath
声明如下:
实际的 sans 字体是 OT1 编码,其含义是在加载包时由 \sfdefault 指示的,而不是在每个数学环境中的含义!
我们可以利用这一事实,首先加载所需的数学字体,然后加载sansmath
,最后helvet
加载文本字体。当cmbright
用于数学时,这很简单:
\documentclass{article}
\usepackage{cmbright}
\usepackage{sansmath}
\sansmath
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[math]{blindtext}
\begin{document}
\blindmathpaper
\end{document}
需要一些其他技术,lxfonts
其在序言末尾起作用,覆盖早期的字体设置(helvet
)。