[texhax] Combining symbols (vertical placement of characters)

Uwe Lück uwe.lueck at web.de
Tue Dec 30 23:58:02 CET 2008

At 20:32 29.12.08, John Palmer wrote:
>On Monday 29 December 2008 03:54:11 Daniel Freedman wrote:
> > position a bullet over the arrowhead
>I have done this sort of thing by using \raisebox for vertical and \kern for
>horizontal movement, but there must be a more robust and elegant way, so I'll
>be interested in other replies !

If you really want to compose (running just TeX) new glyphs from existing 
ones, you should know how the latter were designed (and how they are coded 
in METAFONT), in terms of font dimensions, cf. TeXbook p. 433/447; or of 
the height of `(' (\mathstrut) ... and in your macros, you should refer to 
these (\fontdimen, ...) [I can't tell details here]. Referring to such 
dimensions would be better than trying various numbers ... Replacing the 
arrowhead with a bullet, you should refer to the height and width of the 
box enclosing the diagonal stroke and to the width of the bullet and the 
height of its center (I guess it's axis_height according to TeXbook p. 
447). Don't forget \mathpalette ...

But John: I wonder whether you are asking about creating new glyphs or just 
about placing one character over another. The latter task usually requires 
dimensions of enclosing boxes only; it can be performed through one-column 
``tables'' (\oalign) or through the \accent primitive (depends ...). Are 
you thinking of specific examples that have bothered you?

HTH -- Uwe.

More information about the texhax mailing list