标题中的粗体矢量符号

标题中的粗体矢量符号

我想要一个标题“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 的屏幕截图:

默认字体(Computer Modern 变体)

Linux Libertine/Libertinus Math

Tex Gyre Pagella/Pagella 数学

是否可以获得与第 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}

在此处输入图片描述

相关内容