我在用:
\usepackage{unicode-math}
\setmainfont{Latin Modern Math}
\setmainfont{Latin Modern Roman}
帮助使用 XeLaTeX 排版数学符号。我使用以下方法将上面带有箭头的排版矢量更改为粗体:
\AtBeginDocument{\renewcommand{\vec}[1]{\symbfit{#1}}}
但是,如果数字上方有一个箭头,则该数字不会加粗。相反,数字上方的箭头会消失,只剩下数字本身。我该如何解决这个问题?
答案1
您可以定义一个命令来测试参数是否为整数。如果是整数,则可以使用\symbf
矢量箭头打印粗体符号(使用),如果为假,则可以使用\symbfit
矢量箭头打印粗体+斜体符号(使用)。整数测试\IfInteger
由包提供xstring
。
梅威瑟:
\documentclass{article}
\usepackage{unicode-math}
\usepackage{xstring}
\setmathfont{Latin Modern Math}
\newcommand{\vecbfit}[1]{%
\IfInteger{#1}{%
\symbf{\vec{#1}}}{% true
\symbfit{\vec{#1}}}% false
}
\begin{document}
$\vecbfit{3} \vecbfit{A}$
\end{document}
结果: