[tex-eplain] Incorporating url.sty

geolsoft at mail.ru geolsoft at mail.ru
Sun Aug 28 20:59:48 CEST 2005


On Sun, Aug 28, 2005 at 06:19:53PM +0200, Karl Berry wrote:
> Wow.  Great work, Oleg!

Thanks :).

> Can you say a little about the relationship between
> picture and autopict?

In the plain TeX version of graphics, there are loaders for
each of the packages.  Normally, they are named after the
respective .sty files, e.g., loader for graphicx.sty is
graphicx.tex.  Usually, all they do is input miniltx.tex and
then input respective .sty.

The loader for `picture' is picture.tex.  It is a little
different from the other packages in that it not only loads
miniltx.tex, but also defines some additional macros.  And
the style file it loads after all this is named autopict.sty
(the comments in it say that it was generated from
ltpictur.dtx).  I am not sure why the name is not
picture.sty.

For other packages, I load .sty files directly, bypassing
the .tex loaders.  But the `picture' package (and `psfrag',
too) is given special treatment:  I load picture.tex, and
let it input autopict.sty.  So I might as well use any other
name instead of `picture' in my special-casing code.

> Do you yourself think it would be better?

It is hard to say.  Personally, I would prefer that the name
I use to load the package matches the name used in messages,
even if that name is weird.  The weirdness will give the
user the initial `shock', but will save him surprises later
on, possibly in some complicated situation where it might be
hard to figure out.

> BTW, does the new pict2e package happen to work?

I've just installed it and tried, and it failed :( It used
\new... where it wasn't supposed to.  Probably that would
not be the only problem.


Another thing I forgot to mention which I need to have an
`outside' opinion on.  All \usepackage instances now are
forced inside a \beginpackages...\endpackages.  This is
needed so that we can execute the commands we accumulate by
\AtBeginDocument commands across all the packages, after all
the packages are loaded.  This is a kind of LaTeX's
preamble.

The thing is, currently we require that there is only one
such construction per document, just like there is only one
preamble in LaTeX.  This makes sense for some packages which
may redefine something at the beginning of the document, but
is overly restrictive for others which are independent of
each other and can be loaded separately, in various parts of
the document.

So maybe we should allow multiple instances of
\beginpackages...\endpackages, but in the documentation,
warn the user that it is generally better to restrict all
\usepackage's to a single \beginpackages...\endpackages,
unless they know what they are doing.

-- 
Best regards,
Oleg Katsitadze



More information about the tex-eplain mailing list