[luatex] Proposal for extensible arrows

Will Robertson will at wspr.io
Sat Feb 13 13:51:42 CET 2016


Hi all,

Some recent discussions about unicode mathematics and so on brought up the following issue. I thought it might be good to raise here in case it sparks anything. If not, no harm done :)

In the current unicode/OpenType maths support in XeTeX and LuaTeX, with proper setup of \Udelcode and so on it’s possible to produce vertical extensible arrows for use with \left and \right; using \Umathaccent extensible horizontal arrow accents can be produced:

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{xits-math.otf}
\begin{document}
x$\overleftarrow{\hspace*{3cm}}$x

x$\displaystyle
\left\Uparrow\vrule height 3cm width 0pt\right.
$x
\end{document}

But this does not cover the entire range of how extensible arrows are used, with LaTeX/amsmamth defining \leftarrowfill and \xleftarrow, for example. These are defined with the typical TeX macro approach of gluing small pieces of the arrow together with \cleaders, etc. In several ways, it would be preferable to avoid this approach and have the engine construct the extensible arrow directly.

As such, I think there is scope for a new primitive or two to the extended mathematics support:

    \Uhextensor <char> <length/glue>
    \Uvextensor <char> <length/glue>

(or whatever csnames).

Does anyone have thoughts (a) whether this is a good idea and/or necessary, and (b) how difficult it would be to add to the engines?

Best regards,
Will




More information about the luatex mailing list