[XeTeX] \predisplaysize in XeTeX

Bruno Voisin bvoisin at mac.com
Thu Jun 17 00:23:06 CEST 2004


Hi,

I've been fighting with XeTeX (and the TeXbook, pp. 188--189) for more 
than one hour, and now I'm wondering whether XeTeX's implementation of 
TeX's primitive \predisplaysize is correct.

Try compiling first, with XeTeX (everything here is plain TeX):

	One form of the solution of the wave equation (9) is the inverse 
Fourier transform
	$$
	  \zeta({\bf r},t) = {\rm e}^{-{\rm i}\sigma t}
	  \int\!\!\!\int\!\!\!\int {F({\bf k})\over B({\bf k},\sigma)}
	  {\rm e}^{{\rm i}(kx+ly+mz)}\,{\rm d}k{\rm d}l{\rm d}m,
	$$
	\bye

Everything's right. Now replaces CMR by Trebuchet:

	\font\tenrm="Trebuchet MS" at 10pt
	\font\tenit="Trebuchet MS Italic" at 10pt
	\font\tenbf="Trebuchet MS Bold" at 10pt
	\font\tenbi="Trebuchet MS Bold Italic" at 10pt
	\rm
	One form of the solution of the wave equation (9) is the inverse 
Fourier transform
	$$
	  \zeta({\bf r},t) = {\rm e}^{-{\rm i}\sigma t}
	  \int\!\!\!\int\!\!\!\int {F({\bf k})\over B({\bf k},\sigma)}
	  {\rm e}^{{\rm i}(kx+ly+mz)}\,{\rm d}k{\rm d}l{\rm d}m,
	$$
	\bye

The space between the displayed equation and the preceding line is set 
to practically zero, which seems to indicate that 
\abovedisplayshortskip is used instead of \abovedisplayskip. This is 
indeed the case, as setting \predisplaysize manually cures the problem 
(\predisplaysize is normally calculated automatically by TeX at the 
beginning of every displayed equation, that is immediately after $$, as 
the width of the preceding line; if this width is recognized small, as 
for a line containing the single word "and", then the space between 
this line and the following displayed equation, normally 
\abovedisplayskip, is changed to \abovedisplayshortskip):

	\font\tenrm="Trebuchet MS" at 10pt
	\font\tenit="Trebuchet MS Italic" at 10pt
	\font\tenbf="Trebuchet MS Bold" at 10pt
	\font\tenbi="Trebuchet MS Bold Italic" at 10pt
	\rm
	One form of the solution of the wave equation (9) is the inverse 
Fourier transform
	$$\predisplaysize=\hsize
	  \zeta({\bf r},t) = {\rm e}^{-{\rm i}\sigma t}
	  \int\!\!\!\int\!\!\!\int {F({\bf k})\over B({\bf k},\sigma)}
	  {\rm e}^{{\rm i}(kx+ly+mz)}\,{\rm d}k{\rm d}l{\rm d}m,
	$$
	\bye

Is this caused by an error in the way XeTeX handles AAT fonts, or is it 
one of the bugs that $$ is sometimes said to have?

Bruno



More information about the XeTeX mailing list