我的代码如下:
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{txfonts}
\usepackage[timesmathacc]{newtxmath}
\DeclareSymbolFont{splalphabets}{\encodingdefault}{cmr}{m}{it}%
\SetSymbolFont{splalphabets}{normal}{\encodingdefault}{cmr}{m}{it}%
\SetSymbolFont{splalphabets}{bold}{\encodingdefault}{cmr}{b}{it}%
\DeclareMathSymbol{v}{\mathalpha}{splalphabets}{"76}%
\begin{document}
\textit{v} $v\quad \boldsymbol{v}$
\end{document}
对于斜体,此代码运行良好,但我还需要 CMR 系列的粗体斜体v
,我该如何实现?
请注意,这些更改仅适用于math
案例,而不适用于文本......
答案1
您应该在控制台中收到一条错误消息,提示字体 T1/cmr/b/it 不存在,因此用中等粗细字体代替。
您需要的是bx
系列,而不是b
。我还需要用 替换,txfonts
以便newtxtext
您的 MWE 可以在 TeX Live 2020 中进行编译。
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{newtxtext}
\usepackage[timesmathacc]{newtxmath}
\usepackage{bm}
\DeclareSymbolFont{splalphabets}{\encodingdefault}{cmr}{m}{it}%
\SetSymbolFont{splalphabets}{normal}{\encodingdefault}{cmr}{m}{it}%
\SetSymbolFont{splalphabets}{bold}{\encodingdefault}{cmr}{bx}{it}%
\DeclareMathSymbol{v}{\mathalpha}{splalphabets}{"76}%
\begin{document}
\textit{v} $v\quad \boldsymbol{v}$
\end{document}
您可以考虑使用 OML 编码字体作为数学字母表,该字体专为数学模式设计,包含希腊数学字母,而不是 T1。
另一种选择是\usepackage[varvw]{newtxmath}
。
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{newtxtext}
\usepackage[timesmathacc, varvw]{newtxmath}
\usepackage{bm}
\begin{document}
\textit{v} $v\, \nu\, \boldsymbol{v}\, \boldsymbol{\nu}$
\end{document}
在 中unicode-math
,你可以做类似的事情:
\setmainfont{TeX Gyre Termes}
\setmathfont{TeX Gyre Termes Math}
\setmathfont{Latin Modern Math}[
range={\mitv, \mbfitv},
Scale=MatchLowercase ]
然后您将使用\symbfit
而不是\boldsymbol
。