Cómo hacer `\bm{}` ¿trabajar con `\usepackage[libertine]{newtxmath}` y pdflatex?

Cómo hacer `\bm{}` ¿trabajar con `\usepackage[libertine]{newtxmath}` y pdflatex?

Me pongo en negrita 0como se esperaba cuando compilo el siguiente código con lualatex. Sin embargo, obtengo normal (no negrita) 0con pdflatex. ¿Existe alguna solución para volverse atrevido 0con pdflatex?

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

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

mi entorno es

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

Respuesta1

Cuando lo pasa libertinecomo opción, newtxmathutiliza el peso seminegrita en matemáticas para los caracteres en negrita. Sin embargo, no ha cargado una fuente de texto, por lo que las fuentes Computer Modern predeterminadas se utilizan para números, etc. en matemáticas, pero no existe una versión seminegrita de las fuentes Computer Modern. Una solución alternativa es agregar una instrucción de sustitución de fuentes.

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

lo que da el resultado deseado, como lo demuestra el siguiente documento, sustituyendo el sbpeso por el bpeso. Pero realmente deberías cargar una fuente de texto apropiada para que coincida con las matemáticas, por ejemplo, simplemente emite

\usepackage{libertine}

antes de cargar newtxmathen su lugar.

Salida de muestra

\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}

Por cierto, puede ver exactamente qué caracteres se imprimen al emitir \showoutputen su archivo.

información relacionada