使用计算机现代 \rightarrow 与傅立叶字体

使用计算机现代 \rightarrow 与傅立叶字体

我在 LaTeX 文档中使用 Fourier 字体,但我需要的是 Computer Modern 右箭头,而不是 Fourier 提供的 \rightarrow。

例如,我需要

在此处输入图片描述

代替:

在此处输入图片描述

我尝试使用 \DeclareMathSymbol 但没有成功并且完全陷入困境 - 任何帮助都将不胜感激!

答案1

一旦你知道如何做,这非常简单。;-)

\documentclass{article}
\usepackage{fourier}
\usepackage{amsmath}

% load the CM symbol font
\DeclareSymbolFont{arrows}{OMS}{cmsy}{m}{n}
% change the arrows to be taken from the CM symbol font
\DeclareMathSymbol{\leftrightarrow}{\mathrel}{arrows}{"24}
\DeclareMathSymbol{\leftarrow}{\mathrel}{arrows}{"20}
   \let\gets=\leftarrow
\DeclareMathSymbol{\rightarrow}{\mathrel}{arrows}{"21}
   \let\to=\rightarrow
\DeclareMathSymbol{\mapstochar}{\mathrel}{arrows}{"37}
% the bar for making longer arrows
\DeclareMathSymbol{\relbardash}{\mathbin}{arrows}{"00}
\DeclareRobustCommand\relbar{%
  \mathrel{\smash\relbardash}% \smash, because - has the same height as +
}

\begin{document}
$X\to Y\gets Z$

$X\longrightarrow Y\longleftarrow Z$

$x\mapsto f(x)$

$X\xrightarrow{aaaaaaaaa}Y$
\end{document}

在此处输入图片描述


如何找到这个解决方案?这里有一个方法。

我们知道我们需要一个新的数学符号字体​​,将要修改的箭头分配给它。所以我查看了fontmath.ltx包含标准分配的文件。在那里我找到了这一行

\DeclareSymbolFont{symbols}{OMS}{cmsy}{m}{n}

并为符号字体指定一个新名称(我选择了arrows)。然后我查找\rightarrow\leftarrow\mapstochar,它们是所需箭头的基本成分,并通过更改为复制相应的行symbolsarrows我还输入了两个\let指令,以确保别名\to\gets指向重新定义的符号。

\longrightarrow关于和 的问题不太容易\longleftarrow。它们是通过将减号和箭头粘贴在一起而构建的:

\DeclareRobustCommand{\longrightarrow}{\relbar\joinrel\rightarrow}
\DeclareRobustCommand{\longlefttarrow}{\leftarrow\joinrel\relbar}

我们还需要改变\relbar,因为\joinrel只是负间距。现在,fontmath.ltx我们发现

\DeclareRobustCommand\relbar{%
  \mathrel{\smash-}% \smash, because -has the same height as +
}

我们发现了一个问题。这个定义使用了减号,但我们不想改变来自 Fourier 字体的减号。所以我找到了以下行-

\DeclareMathSymbol{-}{\mathbin}{symbols}{"00}

并定义一个具有相同属性的新符号;最后,我重新声明\relbar使用它来代替减号:

% the bar for making longer arrows
\DeclareMathSymbol{\relbardash}{\mathbin}{arrows}{"00}
\DeclareRobustCommand\relbar{%
  \mathrel{\smash\relbardash}% \smash, because - has the same height as +
}

可以对其他符号字体执行类似操作,通过查看样式文件,其中定义了符号与三元组“数学类型+数学字体+插槽”的对应关系。

相关内容