当 AMS 和 MnSymbol 包在箭头上发生冲突时该怎么办?

当 AMS 和 MnSymbol 包在箭头上发生冲突时该怎么办?

我需要使用两个箭头,一个来自 MnSymbol,另一个来自 amssymb ( \rightsquigarrow);不幸的是,MnSymbol 重新定义了此命令以生成其自己的版本(我不想要)。有没有办法重新定义 AMS 箭头?

将 MnSymbol 包放在 AMS 包之前进行加载不起作用,这个问题的答案是(如何与其他包一起使用 MnSymbol) 表示这两个包不兼容。我在其他地方找不到 MnSymbol 箭头 ( \leftpitchfork)。

答案1

您可以仅从中“提取”该符号MnSymbol并将其用于您的文档中。

这是要提取的代码\leftpitchfork

\DeclareFontFamily{U} {MnSymbolA}{}

\DeclareFontShape{U}{MnSymbolA}{m}{n}{
  <-6> MnSymbolA5
  <6-7> MnSymbolA6
  <7-8> MnSymbolA7
  <8-9> MnSymbolA8
  <9-10> MnSymbolA9
  <10-12> MnSymbolA10
  <12-> MnSymbolA12}{}
\DeclareFontShape{U}{MnSymbolA}{b}{n}{
  <-6> MnSymbolA-Bold5
  <6-7> MnSymbolA-Bold6
  <7-8> MnSymbolA-Bold7
  <8-9> MnSymbolA-Bold8
  <9-10> MnSymbolA-Bold9
  <10-12> MnSymbolA-Bold10
  <12-> MnSymbolA-Bold12}{}

\DeclareSymbolFont{MnSyA} {U} {MnSymbolA}{m}{n}

\DeclareMathSymbol{\leftpitchfork}{\mathrel}{MnSyA}{138}

这是关于如何使用它的 MWE:

\documentclass{article}
\usepackage{amssymb}

\DeclareFontFamily{U} {MnSymbolA}{}

\DeclareFontShape{U}{MnSymbolA}{m}{n}{
  <-6> MnSymbolA5
  <6-7> MnSymbolA6
  <7-8> MnSymbolA7
  <8-9> MnSymbolA8
  <9-10> MnSymbolA9
  <10-12> MnSymbolA10
  <12-> MnSymbolA12}{}
\DeclareFontShape{U}{MnSymbolA}{b}{n}{
  <-6> MnSymbolA-Bold5
  <6-7> MnSymbolA-Bold6
  <7-8> MnSymbolA-Bold7
  <8-9> MnSymbolA-Bold8
  <9-10> MnSymbolA-Bold9
  <10-12> MnSymbolA-Bold10
  <12-> MnSymbolA-Bold12}{}

\DeclareSymbolFont{MnSyA} {U} {MnSymbolA}{m}{n}

\DeclareMathSymbol{\leftpitchfork}{\mathrel}{MnSyA}{138}

\begin{document}
\[
A \rightsquigarrow B \qquad A \leftpitchfork B
\]
\end{document} 

输出:

在此处输入图片描述

相关内容