我不明白如何使用 unicode maths 获取粗斜体字体。当我加载 unicode-maths 时,粗斜体变得\boldmaths
正常,并\mathbf
给出正确的字体。
感谢您的帮助。
\documentclass[a4paper,11pt]{article}
\usepackage[tuenc]{fontspec}
\usepackage[a4paper]{geometry}
\usepackage[french]{babel}
\usepackage[bold-style=ISO]{unicode-math} %works without this
\setmathfont{Latin Modern Math}
\setmathfont[range={\mathscr,\mathbfscr}]{XITS Math}
\begin{document}
$x+y=z$
{\boldmath$x+y=z$}
$\mathbf{x+y=z}$
\end{document}
答案1
没有粗体拉丁现代数学字体。你可以伪造它,但我不相信这是你想要的。
您应该记得,unicode-math
定义了\symbf
应该使用哪个来获得粗体字母,而不是\mathbf
使用文本粗体。
\documentclass[a4paper,11pt]{article}
\usepackage[tuenc]{fontspec}
\usepackage[a4paper]{geometry}
\usepackage[french]{babel}
\usepackage[bold-style=ISO]{unicode-math}
\setmathfont{Latin Modern Math}
\setmathfont[range={\mathscr,\mathbfscr}]{XITS Math}
\begin{document}
$x+y=z$
$\symbf{x}+\symbf{y}=\symbf{z}$
\end{document}
答案2
mathbfup
除了 egreg 的答案之外,您还可以通过和mathbfit
相关宏强制使用某种数学粗体样式symbf
。您还可以mathbf
通过选项强制使用粗体数学字体而不是文本字体mathbf=sym
。参见示例,
\documentclass{article}
\usepackage[mathbf=sym]{unicode-math}
\setmathfont{Latin Modern Math}
\setmathfont{XITS Math}[range={scr,bfscr}]
\begin{document}
\def\sample{0123ABCDabcd\Delta\Gamma\Omega\alpha\beta\gamma}
\[ \sample \] % normal math
\[ \mathbf{\sample} \] % default bold symbol
\[ \symbf{\sample} \] % default bold symbol
\[ \mathbfup{\sample} \] % always upper right bold
\[ \mathbfit{\sample} \] % always italic bold
\end{document}