[texhax] FW: Arrow head too large on \overarrowright

Donald Arseneau asnd at triumf.ca
Mon Dec 30 10:20:00 CET 2013


On Sun, December 29, 2013 4:21 am, Dr A K Hannaby wrote:

> No reply to this after 7+ days - anybody interested - seems a valid issue.

> I attach a minimal file containing some code (as shown below) at about
> line 1200.

Hardly minimal; nevertheless...

> \noindent We would write
> \hspace{39pt}$\overrightarrow{AB}+\overrightarrow{BC}=\overrightarrow{AC}$

...this gets to the point very well.

> The arrow head is much too big and touches the letters below - otherwise
> it would be OK.

I'd have to say that the over-arrows in amsmath aren't very good,
but the major failing is with the arrow characters in the computer
modern font.  At one point, historically, the designer changed them
to use bigger fatter arrow heads.  I can't say if the AMS \overrightarrow
command was designed based on the original (better) arrows, or
if it is just badly executed.

The first recommendation is to use a different font set, if that
appeals to you.  Perhaps \usepackage{txfonts}.  But beware that the
same arrow characters got imported into some unrelated fonts.

Other than that (or in addition) put the following definitions into
a file, say fixamsarrow.sty, and then \usepackage{amsmath,fixamsarrow}

\def\overarrow@#1#2#3{\vbox{%
 \ialign{##\crcr#1{\smaller at than#2}\crcr
 \noalign{\nointerlineskip\kern.12ex}$\m at th\hfil#2#3\hfil$\crcr}}}
\def\smaller at than#1{\ifx\scriptstyle#1\scriptscriptstyle\else
  \ifx\scriptscriptstyle#1\scriptscriptstyle\else
  \scriptstyle\fi\fi}

The third shortcoming is that the arrows are not shifted based on
the slant of the letters, but correcting that is tricky and prone
to errors, so I'll say to just live with it.

Hope this helps.

Donald Arseneau, TRIUMF CMMS, asnd at triumf.ca



More information about the texhax mailing list