使用 unicode-math 的粗体斜体数学

使用 unicode-math 的粗体斜体数学

unicode-math我怎样才能在不使用的情况下获得输出unicode-math优选地(不一定)使用相同的代码(\boldmath)?我希望该解决方案至少适用于 XITS 和 Latin Modern 字体,这两种字体都没有内置粗体数学字体。

编辑:我可以看到注意力正在逐渐消失。当然,不可能使非粗体字体“真正粗体”,但当您将公式加粗时,Word 生成的输出是可以接受的,而 Cambria Math 也没有粗体字体。您甚至可以通过按 CTRL+B 在数学中将 XITS 和 Latin Modern 加粗。我接受任何使 LaTeX 在这方面表现得像 Word 的答案。

没有unicode-math

\documentclass{article}
\begin{document}
  This should be entirely bold: {\boldmath$O(\log n)$} \\
  This should not be bold: $O(\log n)$
\end{document}

我得到了漂亮的输出:

Output without unicode-math

使用unicode-math,代码

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{XITS}
\setmathfont{XITS Math}
\begin{document}
This should be entirely bold: {\boldmath$O(\log n)$} \\
This should not be bold: $O(\log n)$
\end{document}

给出

With unicode-math 1

我已经尝试了很多东西,例如下面的代码。

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{XITS}
\setmathfont{XITS Math}
\setmathfont[range=\mathup/{greek,Greek,latin,Latin,num}]{XITS}
\setmathfont[range=\mathit/{greek,Greek,latin,Latin,num}]{XITS Italic}
\setmathfont[range=\mathbfup/{greek,Greek,latin,Latin,num}]{XITS Bold}
\setmathfont[range=\mathbfit/{greek,Greek,latin,Latin,num}]{XITS Bold Italic}
\begin{document}
This should be entirely bold: {\boldmath$O(\log n)$} \\
This should not be bold: $O(\log n)$
\end{document}

不幸的是,这给了我这个:

With unicode-math 2

Word 输出如下所示:

enter image description here

答案1

“穷人\boldmath可以通过

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{XITS}
\setmathfont{XITS Math}
\setmathfont[version=bold,FakeBold=3.5]{XITS Math}

\begin{document}
This should be entirely bold: {\boldmath$O(\log n)$} \\
This should not be bold: $O(\log n)$
\end{document}

我推测这就是文字处理器如何将没有真实字体的字体伪装成粗体。

enter image description here

注意:选择 XITS“非数学”作为数学符号可能会产生不利影响。

答案2

使用包时unicode-math,您会发现\bm\boldsymbol不起作用。不过,您可以在加载时使用选项指定如何处理粗体数学符号。\usepackage[bold-style=ISO]{unicode-math}将为希腊字母和拉丁字母提供推荐的斜体粗体数学符号,而\usepackage[bold-style=TEX]{unicode-math}将提供直立拉丁字母。这在unicode-math 文档

阿姆韦:

\documentclass{article}
\usepackage[bold-style=ISO]{unicode-math}
%\usepackage[bold-style=TEX]{unicode-math}
\setmainfont{XITS}
\setmathfont{XITS Math}
\begin{document}
This is bold and italic $\mathbf{O(\log n)}+\mathbf{O(\lambda,\,\epsilon)}$ where it must :)
\end{document}

相关内容