bm 包更改符号的使用

bm 包更改符号的使用

下面的代码

\documentclass{amsart}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{eulerpx,bm}

\begin{document}

$a<b\quad\bm{a<b}$

\end{document}

提供以下输出:

在此处输入图片描述

当我使用时,不等号不会改变newpxmath。问题似乎确实出在eulerpx包上。如何解决这个问题?

答案1

不确定这一切会破坏什么,但我重新定义了符号字体并<在其中激活\bm

隔离\begingroup...\endgroup了 catcode 的变化,同时仍然允许内部的二元运算符\bm查看外部的内容\bm,在 MWE 中显示为y\bm{-y}

\documentclass{amsart}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{eulerpx,bm}
\SetSymbolFont{letters}{bold}    {U}{zeur}{m}{n}
\let\svbm\bm
\renewcommand\bm{\begingroup\catcode`<=\active \xbm}
\newcommand\xbm[1]{\svbm{#1}\endgroup}
\let\svlt<
{\catcode`<=\active \gdef<{\mathop{\mathrm{\svlt}}}}
\begin{document}
$a<b\quad\bm{a<b}\quad y\bm{-y}$
\end{document}

在此处输入图片描述

要将这种方法应用于<>关系,只需一点额外的操作:

\documentclass{amsart}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{eulerpx,bm}
\SetSymbolFont{letters}{bold}    {U}{zeur}{m}{n}
\let\svbm\bm
\renewcommand\bm{\begingroup%
  \catcode`>=\active %
  \catcode`<=\active %
  \xbm}
\newcommand\xbm[1]{\svbm{#1}\endgroup}
\let\svlt<
\let\svgt>
{\catcode`>=\active 
\gdef>{\mathop{\mathrm{\svgt}}}
\catcode`<=\active 
\gdef<{\mathop{\mathrm{\svlt}}}}
\begin{document}
$a<b\quad\bm{a<>b}\quad y\bm{-y}$
\end{document}

相关内容