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}
我得到了漂亮的输出:
。
使用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}
给出
。
我已经尝试了很多东西,例如下面的代码。
\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}
不幸的是,这给了我这个:
。
Word 输出如下所示:
。
答案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}
我推测这就是文字处理器如何将没有真实字体的字体伪装成粗体。
注意:选择 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}