0
lualatex で次のコードをコンパイルすると、期待どおりに太字になります。ただし、 0
pdflatex では通常の (太字ではない) 文字になります。pdflatex で太字にするための回避策はありますか0
?
\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
ちなみに、ファイル内で発行すると、どの文字が印刷されているかを正確に確認できます。