[XeTeX] Using tikz with plain XeTeX
John Was
john.was at ntlworld.com
Sat May 13 14:07:47 CEST 2017
Dear Joseph
That's excellent - many thanks for saving me from several hours of picking
through an extremely long preamble. I doubt if I would have got to the
offending line in ulem.sty any time soon, if at all.
Best wishes
John
-----Original Message-----
From: Joseph Wright
Sent: Saturday, May 13, 2017 12:59 PM
To: xetex at tug.org
Subject: Re: [XeTeX] Using tikz with plain XeTeX
On 13/05/2017 12:49, Philip Taylor wrote:
>
>
> John Was wrote:
>> Even if PS-Tricks and Tikz do clash, it doesn't seem to be PS-Tricks
>> specifically that's causing this issue (I've tried commenting it out) -
>> suspicion currently falls on Edmac, which I use for cropmarks and
>> sometimes for other purposes (e.g. automatic line numbering of texts when
>> required). I don't really mind doing without tikz (at least for now), but
>> it would be good to know the cause of the weird behaviour!
> Then I think you will have to strip down your fault-provoking code to
> something manageable, John; "necessary and sufficient" is the key -- you
> have provided the necessary, now it is surely incumbent on you to strip it
> down to the necessary if others are to be able to help you in finite time.
>
> Philip Taylor
A minimal example is
\input ulem.sty
\input tikz
\tikzpicture
\path[draw=red] (0,0) -- (1,1) -- (2,1) circle (10pt);
\endtikzpicture
\bye
with the first piece of text pointing to ifpdf: the issue is not limited
to TikZ. (It doesn't help though that TikZ's emulation of a minimal
LaTeX set up isn't 'self-contained': the load order cannot be reversed
here.)
This allows us to isolate the issue: ulem.sty does
\expandafter\ifx\csname ProvidesPackage\endcsname \relax
which leaves \ProvidesPackage as \relax in plain (there is no grouping).
That's an issue for any code that tests 'quickly' for \ProvidesPackage,
for example in ifpdf.sty
\ifx\ProvidesPackage\undefined
The most obvious solution is to get rid of the problematic definition:
\input ulem.sty
\let\ProvidesPackage\undefined
\input tikz
\tikzpicture
\path[draw=red] (0,0) -- (1,1) -- (2,1) circle (10pt);
\endtikzpicture
\bye
Joseph
--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex
More information about the XeTeX
mailing list