[XeTeX] xelatex and geometry

Jonathan Kew jonathan_kew at sil.org
Wed Mar 26 11:47:15 CET 2008


On 26 Mar 2008, at 10:25 am, Ulrike Fischer wrote:

> Hello,
>
> I'm used to call geometry almost always with the option dvips:
>
> \usepackage[dvips,...]{geometry}
>
> This works fine with latex + dvips, and it also works with pdflatex as
> \Gm at checkdrivers corrects the driver.
>
> It would also work with xelatex if geometry.cfg for XeLaTeX (JK
> 2006-06-07) wouldn't contain a \let\Gm at checkdrivers\relax and so the
> \specials for dvips are not set.

Surely the "right" thing to do (short of changing geometry.sty itself  
to eliminate the issue below) is *not* to give the [dvips] option  
unless you're actually using dvips! By giving that option when you're  
actually using pdflatex or xelatex, you are misleading the system.

>
> As far as I can see \Gm at checkdrivers is a problem for xelatex  
> because of
> this switch which leads to an undefined control sequence error because
> of the \pdfoutput:
>
> \ifx\pdfpagewidth\@undefined\else
>     \ifnum\pdfoutput=\@ne
>       \Gm at setdriver{pdftex}%
>     \fi
>   \fi

Yes, this is a problem because it assumes that if \pdfpagewidth  
exists, \pdfoutput also exists; that was true for pdftex, of course,  
but is not true in xetex.

>
> So I would suggest to use
>
> \@ifundefined{XeTeXversion}{}{%
> \def\pdfoutput{1}%
> }

That would almost certainly lead to breakage when other packages try  
to check for pdfTeX-specific functionality by looking at \pdfoutput.

JK



More information about the XeTeX mailing list