[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
A story about depths and heights
- To: firstname.lastname@example.org
- Subject: A story about depths and heights
- From: Matthias Clasen <email@example.com>
- Date: Wed, 16 Apr 1997 17:33:26 +0200 (MET DST)
- Reply-To: Matthias Clasen <firstname.lastname@example.org>
Yesterday, I have spent some time on creating an extended version of
cmex which contains more sizes of big delimiters and wide accents
-- very much like yhcmex10 by Yannis Haralambous. I took some ideas from
there, e.g. the numbers of different sizes:
14 delimiters (but only 7 if the extensible is appropriate)
in the sizes 2d, 2.5d, 3d, 3.5d, 4d, 4.5d, 5d, 5.5d, 6d, 7d, 8d, 9d, 10d,
11d (where d is a shorthand for dh#)
12 wide accents (whose heights vary slightly).
I was rather badly surprised when all the extensible delimiters came out
broken and it took my some time to realise that the problem was that mf
had changed the depths and/or heights of the repeatable pieces. Is it pure
coincidence that mf does not break the extensible delimiters in yhcmex10 ?
Or is this the reason for the omission of the size 6d there (the size
5dh# is duplicated) ?
It took me quite some time to find a fix for the problem: The salient
feature of TeX is that it centers big operators and delimiters wrt the
axis, so one can change the height and depth of these as long as
their sum stays the same.
I came up with the following set of heights and depths
(here r is a shorthand for rule_thickness#):
heights: 0 r .5d+r d+r plus 12 accent heights => 15 heights+zero
depths: 0 -2r .5d-r 2d-r 3d-r ... 11d-r 10/6d-r => 15 depths+zero
This does allow the textstyle and displaystyle operators to have
their height+depth unchanged, it allows the radicals to have height r,
it allows horizontal brace pieces of height 3r, it allows accents of
twelve different heights and even many more heights of big delimiters
than listed above (e.g the largest possible one is 12d). After I did
necessary changes to all the beginchar statements, there was another
bad surprise: The metafont programs for the big operators all depend
on the condition h=0, so I had to find all equations of the form
y=0 or y=eps and insert an h there.
After all these changes, mf did no longer complain about the necessity
to adjust heights or depths and my extensibles started working again.
The conclusion of all this seems to be that the restrictions of the tfm
format might be appropriate for text fonts, but they can pose major
problem for math extension fonts, where the aim is to provide many
I hope that someone will find an interesting bit of information in this
On to a concrete question: Is there a way to find out which heights or
depths have been changed or even to influence mf's decision about that.
One might e.g. want to prohibit changes to extensible pieces - on the
other hand, mf should be clever enough to know that changing these will
be desastrous, shouldn't it ?