Der folgende Code
\documentclass{amsart}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{eulerpx,bm}
\begin{document}
$a<b\quad\bm{a<b}$
\end{document}
Liefert die folgende Ausgabe:
Das Ungleichheitszeichen wird nicht geändert, wenn ich newpxmath
stattdessen say verwende. Das Problem scheint tatsächlich beim eulerpx
Paket zu liegen. Wie kann das gelöst werden?
Antwort1
Ich bin nicht sicher, was das alles kaputt macht, aber ich habe eine Symbolschriftart neu definiert und <
darin aktiviert \bm
.
Das \begingroup...\endgroup
isoliert die Catcode-Änderung, ermöglicht es aber weiterhin binären Operatoren innerhalb, \bm
zu sehen, was außerhalb von liegt \bm
, was im MWE als angezeigt wird 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}
<
Um diesen Ansatz sowohl auf - als auch auf -Beziehungen anzuwenden, >
sind nur einige zusätzliche Schritte erforderlich:
\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}