使用 unicode-math 调整括号间距

使用 unicode-math 调整括号间距

考虑这个例子:

\documentclass{article}
\usepackage{unicode-math}

\setmainfont{Linux Libertine O}
\setmathfont{XITS Math}
\setmathfont[range=\mathit/{latin,Latin,greek,Greek,num}]{Linux Libertine O Italic}

\begin{document}
\textit{f}(\textit{q})
$f(q_i,p_i,t)
\left[ \int df \right]$
\end{document}

这使用Linux 浪子对于许多数学字符,但括号仍然取自XITS 数学因此间距不好(“f”与括号相撞)。

我如何使用括号Linux 浪子在数学模式下?此外,是否可以从Linux 浪子也一样?

编辑:澄清一下,示例显示间距在文本模式下是正确的,但在数学模式下却失败了。我想知道为什么会出现这种情况以及如何修复它。

答案1

不确定是否有自动的方法来解决这个问题,但添加手动薄空间(\,)似乎有效(使用运行XeLaTeX):

\documentclass{article}
\usepackage{unicode-math}

\setmainfont{Linux Libertine O}
\setmathfont{XITS Math}
\setmathfont[range=\mathit/{latin,Latin,greek,Greek,num}]{Linux Libertine O Italic}

\begin{document}
\textit{f}(\textit{q})
$f\,(q_i,p_i,t)
\left[ \int df \,\right]$
\end{document}

答案2

我使用以下附加定义:

\setmathfont[range=\lbrace] {Linux Libertine O}
\setmathfont[range=\rbrace] {Linux Libertine O}
\setmathfont[range=\lparen] {Linux Libertine O}
\setmathfont[range=\rparen] {Linux Libertine O}

这不适用于斜体, 然而。

相关内容