
Betrachten Sie das folgende MWE, das modifiziert wurde vonmeine Antwort hier:
\documentclass{article}
\newcommand\gmfamily{\fontfamily{mdugm}\selectfont}
\DeclareMathVersion{varnormal}
\DeclareMathVersion{heavy}
\newcommand\mdmath{\mathversion{varnormal}}
\newcommand\mdboldmath{\mathversion{heavy}}
\newcommand\heavymath{\mathversion{heavy}}
\SetSymbolFont{letters}{varnormal}{OML}{mdugm}{m}{it}
\SetSymbolFont{letters}{heavy}{OML}{mdugm}{b}{it}
\SetSymbolFont{operators}{varnormal}{OT1}{mdugm}{m}{n}
\SetSymbolFont{operators}{heavy}{OT1}{mdugm}{b}{n}
\SetSymbolFont{symbols}{varnormal}{OMS}{mdugm}{m}{n}
\SetSymbolFont{symbols}{heavy}{OMS}{mdugm}{b}{n}
\SetSymbolFont{largesymbols}{varnormal}{OMX}{mdugm}{m}{n}
\SetSymbolFont{largesymbols}{heavy}{OMX}{mdugm}{b}{n}
\SetMathAlphabet{\mathrm}{varnormal}{OT1}{mdugm}{m}{n}
\SetMathAlphabet{\mathrm}{heavy}{OT1}{mdugm}{b}{n}
\SetMathAlphabet{\mathit}{varnormal}{OT1}{mdugm}{m}{it}
\SetMathAlphabet{\mathit}{heavy}{OT1}{mdugm}{b}{it}
\usepackage{bm}
\begin{document}
\gmfamily\mdmath
This is Garamond font. $a^2 + b^2 = c^2$. Math font
\[
\sum_i \int_a^b \left( \frac1{K+1} \oplus\alpha_i \right) \,\mathrm{d}x = 0
\]
and bold math font
{\mdboldmath\[
\sum_i \int_a^b \left( \frac1{K+1} \oplus\alpha_i \right) \,\mathrm{d}x = 0
\]}
\[
\hm{\sum_i \int_a^b \left( \frac1{K+1} \oplus\alpha_i \right) \,\mathrm{d}x = 0}
\]
\end{document}
Dies führt zu den folgenden (für mich) unerwarteten Ergebnissen:
Frage:Wie kann ich dieses Beispiel so verändern, dass die Kombination der Mathematikvarianten varnormal
und heavy
aktiviert durch die erwarteten Ergebnisse \mdmath
führt \hm
, also die (runden) Klammern und Grenzen richtig gesetzt werden?
Beachten Sie, dass das Problem nicht auf die Schriftarten selbst zurückzuführen ist. Es ist auch keine Auswirkung der Verwendungbm an sich. Der folgende Code funktioniert einwandfrei:
\documentclass{article}
\renewcommand\rmdefault{mdugm}
\DeclareSymbolFont{letters}{OML}{mdugm}{m}{it}
\SetSymbolFont{letters}{bold}{OML}{mdugm}{b}{it}
\DeclareSymbolFont{operators}{OT1}{mdugm}{m}{n}
\SetSymbolFont{operators}{bold}{OT1}{mdugm}{b}{n}
\DeclareSymbolFont{symbols}{OMS}{mdugm}{m}{n}
\SetSymbolFont{symbols}{bold}{OMS}{mdugm}{b}{n}
\DeclareSymbolFont{largesymbols}{OMX}{mdugm}{m}{n}
\SetSymbolFont{largesymbols}{bold}{OMX}{mdugm}{b}{n}
\DeclareMathAlphabet{\mathrm}{OT1}{mdugm}{m}{n}
\SetMathAlphabet{\mathrm}{bold}{OT1}{mdugm}{b}{n}
\DeclareMathAlphabet{\mathit}{OT1}{mdugm}{m}{it}
\SetMathAlphabet{\mathit}{bold}{OT1}{mdugm}{b}{it}
\usepackage{bm}
\begin{document}
This is Garamond font.
$a^2 + b^2 = c^2$.
Maths font
\[
\sum_i \int_a^b \left( \frac1{K+1} \oplus\alpha_i \right) \,\mathrm{d}x = 0
\]
and bold maths font
\[
\bm{\sum_i \int_a^b \left( \frac1{K+1} \oplus\alpha_i \right) \,\mathrm{d}x = 0}
\]
\end{document}
Dies funktioniert wie erwartet:
Wichtig:in meiner ursprünglichen Antwort verwende ich normales Garamond als varnormal
Version und fettes Garamond als heavy
Version, wobei die Versionen normal
und bold
Mathematik für eine andere Schriftfamilie reserviert sind. Die Versionen heavy
oder varnormal
Mathematik einfach nicht zu deklarieren ist also keine Lösung, auch wenn es im MWE eindeutig die naheliegende Antwort wäre.
Dieses Problem kann umgangen werden, indem man ein zweites Paket definiert,varbm, so dass varbm.sty
für die mathematische Version das gilt, varbold
was bm.sty
für die mathematische Version gilt bold
. (In diesem Fall muss natürlich heavy
überhaupt nicht verwendet werden.) Das funktioniert gut und ist das, was ich inmeine überarbeitete Antwort. Allerdings erscheint es übertrieben, da dabei fast alles dupliziert wird bm.sty
. Auch wenn es tatsächlich die beste Lösung ist, würde ich trotzdem gerne genau wissen, was in diesem Fall schief läuft.
Antwort1
Wenn Sie eine Version mit viel Mathematik deklarieren, müssen Sie einige Schriftarten dafür definieren. Hier mache ich sie einfach gleich wie die fettgedruckten (was nur bedeutet, dass Ihnen mehr oder weniger sicher die 16 Mathematik-Versionen ausgehen, Sie aber fettgedruckte Klammern erhalten).
\documentclass{article}
\DeclareMathVersion{heavy}
\renewcommand\rmdefault{mdugm}
\newcommand\heavymath{\mathversion{heavy}}
\DeclareSymbolFont{letters}{OML}{mdugm}{m}{it}
\SetSymbolFont{letters}{bold}{OML}{mdugm}{b}{it}
\SetSymbolFont{letters}{heavy}{OML}{mdugm}{b}{it}
\DeclareSymbolFont{operators}{OT1}{mdugm}{m}{n}
\SetSymbolFont{operators}{bold}{OT1}{mdugm}{b}{n}
\SetSymbolFont{operators}{heavy}{OT1}{mdugm}{b}{n}
\DeclareSymbolFont{symbols}{OMS}{mdugm}{m}{n}
\SetSymbolFont{symbols}{bold}{OMS}{mdugm}{b}{n}
\DeclareSymbolFont{largesymbols}{OMX}{mdugm}{m}{n}
\SetSymbolFont{largesymbols}{bold}{OMX}{mdugm}{b}{n}
\SetSymbolFont{largesymbols}{heavy}{OMX}{mdugm}{b}{n}
\DeclareMathAlphabet{\mathrm}{OT1}{mdugm}{m}{n}
\SetMathAlphabet{\mathrm}{bold}{OT1}{mdugm}{b}{n}
\SetMathAlphabet{\mathrm}{heavy}{OT1}{mdugm}{b}{n}
\DeclareMathAlphabet{\mathit}{OT1}{mdugm}{m}{it}
\SetMathAlphabet{\mathit}{bold}{OT1}{mdugm}{b}{it}
\SetMathAlphabet{\mathit}{heavy}{OT1}{mdugm}{b}{it}
\usepackage{bm}
\begin{document}
This is Garamond font.
$a^2 + b^2 = c^2$.
Maths font
\[
\sum_i \int_a^b \left( \frac1{K+1} \oplus\alpha_i \right) \,\mathrm{d}x = 0
\]
and bold maths font
\[
\bm{\sum_i \int_a^b \left( \frac1{K+1} \oplus\alpha_i \right) \,\mathrm{d}x = 0}
\]
and heavy maths font (which should just be bold?)
\[
\hm{\sum_i \int_a^b \left( \frac1{K+1} \oplus\alpha_i \right) \,\mathrm{d}x = 0}
\]
\end{document}