我在以粗体显示数学模式中的数字时遇到了一些问题。\mathbf{}
命令与mathptmx
包一起使用,生成了粗体数字,这些数字看起来像数学模式中的数字,但是是粗体。然后我开始newtxmath
与一起使用包bm
,现在它们看起来不像我想要的那样。
mathbf{1}
产生一个看起来像数字 1 的符号,但像文本模式 1。而\bm{}
和\boldsymbol
不起作用。以下是
$\bm{1}$\\
$\boldsymbol{1}$\\
$\mathbf{1}$\\
\textbf{1}
我正在使用Georgia
带有“低”数字的字体,因此您可以明确分辨出数学模式和文本模式之间的区别。
这个问题有解决办法吗?
这是完整的代码(你需要Lua或者氙LaTex 进行编译):
\documentclass[10pt]{article}
\usepackage{newtxmath}
\usepackage{bm}
\usepackage{polyglossia}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Georgia}
\newfontfamily\cyrillicfont{Georgia}
\setmainlanguage{russian}
\begin{document}
\noindent
$\bm{1}$\\
$\boldsymbol{1}$\\
$\mathbf{1}$\\
\textbf{1}
\end{document}
更新:当我在另一台电脑上编译文件时,这个东西终于起作用了。这很奇怪,因为据我所知,TexLive 会自动更新软件包和编译器,所以这似乎与版本无关。
如果有人能向我解释这里发生了什么事就好了。
答案1
您正在加载polyglossia
,这会加载fontspec
,并使用 OpenType 字体。这与旧版软件包 不兼容bm
。
一个解决方案是:
\usepackage{unicode-math}
\defaultfontfeatures{ Ligatures=TeX, Scale=MatchLowercase }
\setmathfont{TeX Gyre Termes Math} % Or another math font
\setmathfont{Georgia}[range=up]
\setmathfont{Georgia Italic}[range=it]
\setmathfont{Georgia Bold}[range=bfup]
\setmathfont{Georgia Bold Italic}[range=bfit]
这将允许您使用\mathbf{1}
或\symbf{1}
。如果您从未\mathbf
在数学模式下使用过单词,则可以使用选项\usepackage[mathbf=sym]{unicode-math}
,并\mathbf
为 创建一个同义词\symbf
。理论上,这会从您的数学字体而不是文本字体中调用粗体字母数字符号,尽管在这里您无论如何都会将它们都设置为相同的字体。您仍然可以在数学模式下使用\textbf
(或更强大的\textnormal{\bfseries ...}
)。
如果您的 Georgia 版本支持数字对齐,则可以在补充\setmathfont
命令中添加选项Numbers=Lining
。或者,如果您特别想将 Georgia 用于字母和不是数字,您可以指定range=up/{Latin,latin,Greek,greek}
,等等。
您可以使用 更改\mathbf
字体(用于数学模式中的单词和短语),使其与主文本字体不同\setmathrm[BoldFont={...}, BoldFeatures={...}]
。或者,您可以调用\usepackage[no-math]{fontspec}
来polyglossia
阻止它更改\mathbf
、\mathrm
等。
该unicode-math
包确实支持\boldsymbol
,但这会调用\mathversion{bold}
。截至 2020 年,unicode-math
不支持同时使用version=bold
和range=
选项,因此您无法可靠地使用和更改数学模式下的字母。\setmathfont
\boldsymbol
将数学字体更改为 Georgia 的其他选项是mathastext
,或者在 XeTeX 中是mathspec
。
答案2
不,TeXlive 只是另一个带有版本号的发行版。
人们使用它是因为它或多或少包含了厨房水槽和所有东西并且它得到维护,但它肯定有版本号。
经常处理这个问题的人们会尽力确保各个部分能够协同工作。
此外,由于其庞大的体积,TeXlive 可能会被分成几个小的子包在您的发行版中。
这足以解释渲染之间的差异。
一般来说,如果您遇到这样的问题,可重复性是关键......所以通常,使用的 LaTeX 包的版本号日志可能会有很大帮助。