我想要一个标题“ExB 漂移”,其中 E 和 B 带有矢量箭头样式,并且字母像标题的其他部分一样加粗。到目前为止,我已经实现了其中一个,但有一些字体问题。我更喜欢使用 Linux Libertine 字体,但这不是绝对的。
最低限度的工作示例:
\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\defaultfontfeatures{Ligatures=TeX}
\setmathfont{Libertinus Math}
\setmainfont{Linux Libertine O}
\begin{document}
\tableofcontents
Fonts: Linux Libertine O, Libertinus Math
\section{$\vec{E}\times\vec{B}$ drift}
$\vec{E}\times\vec{B}$ drift without bold.
\section{$\mathbf{\vec{E}\times\vec{B}}$ drift}
$\mathbf{\vec{E}\times\vec{B}}$ drift with bold.
\end{document}
或者将 set*font 替换为
\setmainfont{TeX Gyre Pagella}
\setmathfont{TeX Gyre Pagella Math}
或全部删除。生成的 PDF 的屏幕截图:
是否可以获得与第 2 节中类似的字体样式,但带有箭头?
答案1
使用\symbf
以下命令unicode-math
:
\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\defaultfontfeatures{Ligatures=TeX}
\setmathfont{Libertinus Math}
\setmainfont{Linux Libertine O}
\usepackage{esvect}
\begin{document}
\tableofcontents
Fonts: Linux Libertine O, Libertinus Math
\section{$\symbf{\vec{E}\times\vec{B}}$ drift}
$\vec{E}\times\vec{B}$ drift without bold.
\section{$\symbf{\vec{E}\times\vec{B}}$ drift}
$\symbf{\vec{E}\times\vec{B}}$ drift with bold.
\end{document}
答案2
我会避免在标题中加粗数学:加粗数学带有语义。
无论如何,问题是 Libertinus Math 没有粗体版本,但你可以“伪造”它。
\documentclass{article}
\usepackage{unicode-math}
\usepackage{xpatch}
\setmainfont{Linux Libertine O}
\setmathfont{Libertinus Math}
\setmathfont[version=bold]{Libertinus Math}[FakeBold=2]
\xpatchcmd{\bfseries}{\fontseries}{\boldmath\fontseries}{}{}
\xpatchcmd{\mdseries}{\fontseries}{\unboldmath\fontseries}{}{}
\begin{document}
\tableofcontents
Fonts: Linux Libertine O, Libertinus Math
\section{$\vec{E}\times\vec{B}$ drift}
$\vec{E}\times\vec{B}$ drift without bold.
\end{document}