Я получаю полужирный шрифт 0
, как и ожидалось, когда компилирую следующий код с помощью lualatex. Однако я получаю обычный (не полужирный) шрифт 0
с помощью pdflatex. Есть ли обходной путь, чтобы получить полужирный шрифт 0
с помощью pdflatex?
\documentclass{article}
\usepackage[libertine]{newtxmath}
\usepackage{bm}
\begin{document}
0$0\bm{0}$ % OK with lualatex, but not with pdflatex
\end{document}
Моя среда
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
решение1
Когда вы передаете его libertine
в качестве параметра, newtxmath
то он использует полужирный шрифт в математике для жирных символов. Однако вы не загрузили текстовый шрифт, поэтому для чисел и т. д. в математике используются шрифты Computer Modern по умолчанию, но версии полужирного шрифта шрифтов Computer Modern нет. Обойти это можно, добавив инструкцию замены шрифта
\DeclareFontShape{OT1}{cmr}{sb}{n}{<->ssub * cmr/b/n}{}
что дает желаемый результат, как показывает документ ниже, путем замены sb
веса на b
вес. Но на самом деле вы должны загрузить соответствующий текстовый шрифт, чтобы соответствовать математике, например, просто выдать
\usepackage{libertine}
перед загрузкой newtxmath
.
\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}
Кстати, вы можете увидеть, какие именно символы печатаются, выполнив команду \showoutput
в своем файле.