\overrightarrow 带有 garamond:箭头中的间隙

\overrightarrow 带有 garamond:箭头中的间隙

使用 Garamond 字体排版$\overrightarrow{OQ}$时,箭头会出现非常不美观的间隙。下面是一个显示该问题的最小工作示例。没有 Garamond 线条,它看起来还不错。

\documentclass{article}
\usepackage[garamond]{mathdesign}    
\begin{document}
\[\overrightarrow{OQ}.\]
\end{document}

这显然是一个不需要的功能。可以修复它吗?(放弃 Garamond 不是一个选择,我已经用它排版和打印了几百页,我想为我的学生提供统一的文档)。

答案1

问题在于,与选项一起使用的数学字体中的减号和箭头garamond比平时短,这会破坏\rightarrowfill中的使用\overrightarrow

您应该通过重新定义来修复该故障\rightarrowfill

\documentclass{article}
\usepackage[garamond]{mathdesign}

\makeatletter
\def\rightarrowfill{%
  $\m@th\smash-\mkern-9mu
  \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill
  \mkern-9mu\mathord\rightarrow$}
\makeatother

\begin{document}
$\overrightarrow{OQ}$

\makebox[1.0em]{\rightarrowfill}
\makebox[1.1em]{\rightarrowfill}
\makebox[1.2em]{\rightarrowfill}
\makebox[1.3em]{\rightarrowfill}
\makebox[1.4em]{\rightarrowfill}
\makebox[1.5em]{\rightarrowfill}
\makebox[1.6em]{\rightarrowfill}

\makebox[1.7em]{\rightarrowfill}
\makebox[1.8em]{\rightarrowfill}
\makebox[1.9em]{\rightarrowfill}
\makebox[2.0em]{\rightarrowfill}
\makebox[2.1em]{\rightarrowfill}

\end{document}

在此处输入图片描述

使用amsmath(由amsart和隐式加载amsbook)补丁也应该是\arrowfill@;使用更简单etoolbox

\usepackage{etoolbox}
\makeatletter
\patchcmd\arrowfill@{-7mu}{-9mu}{}{}
\patchcmd\arrowfill@{-7mu}{-9mu}{}{}
\patchcmd\rightarrowfill{-7mu}{-9mu}{}{}
\patchcmd\rightarrowfill{-7mu}{-9mu}{}{}
\makeatother

相关内容