![带有 sfmath 和不常见的 sf 字体的糟糕 \Longrightarrow](https://linux22.com/image/440513/%E5%B8%A6%E6%9C%89%20sfmath%20%E5%92%8C%E4%B8%8D%E5%B8%B8%E8%A7%81%E7%9A%84%20sf%20%E5%AD%97%E4%BD%93%E7%9A%84%E7%B3%9F%E7%B3%95%20%5CLongrightarrow.png)
我需要使用 Alegreya Sans 作为主字体和 sf 数学,在 pdflatex 中使用和\usepackage[sfdefault]{AlegreyaSans}
完成\usepackage{sfmath}
。
它似乎是和\Longrightarrow
的组合。如果这些字符的字体不匹配,就像我的情况一样,这将是灾难的根源。有人能帮我修复和吗,也许可以只在这些箭头上使用 CM =?=
\Rightarrow
\Longrightarrow
\implies
梅威瑟:
\documentclass{article}
\usepackage[sfdefault]{AlegreyaSans}
\usepackage{amsmath} % for \implies
\usepackage{sfmath}
\begin{document}
$a = b \implies c \Longrightarrow d$
\end{document}
结果:
附言:与我的文档相关的一个问题:sfmath 和不常见的 sf 字体导致 \neq 错误
答案1
为 OT1/cmr/m/n 声明一个数学字母表,并为该字体定义一个等号命令。查看 \Longrightarrow 内部,我们发现新的等号必须放在 \Relbar 内部。下面是 MWE 的完整解决方案。
\documentclass{article}
\usepackage[sfdefault]{AlegreyaSans}
\usepackage{amsmath} % for \implies
\usepackage{sfmath}
\DeclareSymbolFont{FooFont}{OT1}{cmr}{m}{n}
\DeclareMathSymbol{\fooEqual}{\mathrel}{FooFont}{`=}
\renewcommand{\Relbar}{\mathrel\fooEqual}
\begin{document}
$a = b \implies c \Longrightarrow d$
\end{document}
结果: