Wie man `\bm{ macht}` funktioniert mit `\usepackage[libertine]{newtxmath}` und pdflatex?

Wie man `\bm{ macht}` funktioniert mit `\usepackage[libertine]{newtxmath}` und pdflatex?

Ich erhalte die Fettschrift 0wie erwartet, wenn ich den folgenden Code mit lualatex kompiliere. Mit pdflatex erhalte ich jedoch die normale (nicht fette) Schrift 0. Gibt es eine Problemumgehung, um 0mit pdflatex die Fettschrift zu erhalten?

\documentclass{article}
\usepackage[libertine]{newtxmath} 
\usepackage{bm}

\begin{document}
0$0\bm{0}$ % OK with lualatex, but not with pdflatex
\end{document}

Meine Umgebung ist

pdfTeX 3.14159265-2.6-1.40.17 (TeX Live 2016)
LuaTeX, Version 0.95.0 (TeX Live 2016)
bm: 2017/01/16
newtx: 1.515 2017-01-22

Antwort1

Wenn Sie es libertineals Option übergeben newtxmath, wird für fette Zeichen die halbfette Schrift in Mathematik verwendet. Sie haben jedoch keine Textschriftart geladen, sodass für Zahlen usw. in Mathematik die Standardschriftarten von Computer Modern verwendet werden, es aber keine halbfette Version der Computer Modern-Schriftarten gibt. Eine Umgehungslösung besteht darin, eine Anweisung zur Schriftartersetzung hinzuzufügen.

\DeclareFontShape{OT1}{cmr}{sb}{n}{<->ssub * cmr/b/n}{}

was das gewünschte Ergebnis liefert, wie das folgende Dokument zeigt, indem das sbGewicht durch das bGewicht ersetzt wird. Aber eigentlich sollten Sie eine geeignete Textschriftart laden, die der Mathematik entspricht, z. B. einfach ausgeben

\usepackage{libertine}

stattdessen vor dem Laden newtxmath.

Beispielausgabe

\documentclass{article}

\usepackage[libertine]{newtxmath}
\usepackage{bm}
\DeclareFontShape{OT1}{cmr}{sb}{n}{<->ssub * cmr/b/n}{}

\begin{document}

Testing some mathematics \( x = y^2 = \int_0^1 2y\,dy \).

Testing some bold symbols \( \bm{v} = (0,0,0) = \bm{0} \).

\end{document}

Welche Zeichen genau gedruckt werden, können Sie übrigens durch die Ausgabe \showoutputin Ihrer Datei sehen.

verwandte Informationen