Discussion:
How to get l3str.sty, l3seq.sty, etc. these days?
Michiel Helvensteijn
2014-08-31 14:56:07 UTC
Permalink
Hi all,

It's been a while since I had to reinstall my machine. But I just
have, and I'm finding myself without the latex3 '.sty' files where
latex can find them.

I was a bit surprised they weren't included in the Arch package
`texlive-core`, which include l3kernel. This explains a bug report I
received several months ago regarding `pkgloader`, which loads
`l3prop`. (Are all my expl3 packages now broken?)

Oh well, I checked out the svn trunk. The old build system seems to
have been replaced by `build.lua`. It seems easy enough to use, but I
can't manage to generate the required .sty files. In trying to bypass
the build system, I just run: `cd l3kernel; tex l3.ins`. It seems all
of the expected .sty files are now being concatenated into a file
`expl3-code.tex` rather than generated outright. This is also true for
the version on CTAN.

It seems I've missed a lot. Could someone bring me up to date? :-/

Thanks!
--
www.mhelvens.net
Joseph Wright
2014-08-31 15:13:26 UTC
Permalink
Post by Michiel Helvensteijn
Hi all,
It's been a while since I had to reinstall my machine. But I just
have, and I'm finding myself without the latex3 '.sty' files where
latex can find them.
I was a bit surprised they weren't included in the Arch package
`texlive-core`, which include l3kernel. This explains a bug report I
received several months ago regarding `pkgloader`, which loads
`l3prop`. (Are all my expl3 packages now broken?)
Oh well, I checked out the svn trunk. The old build system seems to
have been replaced by `build.lua`. It seems easy enough to use, but I
can't manage to generate the required .sty files. In trying to bypass
the build system, I just run: `cd l3kernel; tex l3.ins`. It seems all
of the expected .sty files are now being concatenated into a file
`expl3-code.tex` rather than generated outright. This is also true for
the version on CTAN.
It seems I've missed a lot. Could someone bring me up to date? :-/
Thanks!
We've not supported loading individual modules from the 'kernel' bundle
for some years. Thus trying to do

\RequirePackage{l3prop}

without

\RequirePackage{expl3}

first has raised an error for quite a while now (I think from around the
time we rearranged from "l3in2e"/"xpackages" to
"l3kernel"/"l3packages"/"l3experimental": if you really want to know
I'll check back over the SVN).

As part of making expl3 loadable on top of formats other than LaTeX2e
(at least, on top of plain/ConTeXt: others not tested), it was much more
straight forward to roll all of the l3kernel code up into a single
extracted files. That makes no difference to how things are loaded it
should be more-or-less no issue: you used to need
"\RequirePackage{expl3}" and you still do. This also has the advantage
of reducing the 'log noise' from loading expl3 and the risk of
mis-matching files for the kernel part of the bundle.

Note that this change was included in the usual announcements I make
before uploading code to CTAN.
--
Joseph Wright
Joseph Wright
2014-08-31 15:17:26 UTC
Permalink
Post by Joseph Wright
Post by Michiel Helvensteijn
Hi all,
It's been a while since I had to reinstall my machine. But I just
have, and I'm finding myself without the latex3 '.sty' files where
latex can find them.
I was a bit surprised they weren't included in the Arch package
`texlive-core`, which include l3kernel. This explains a bug report I
received several months ago regarding `pkgloader`, which loads
`l3prop`. (Are all my expl3 packages now broken?)
Oh well, I checked out the svn trunk. The old build system seems to
have been replaced by `build.lua`. It seems easy enough to use, but I
can't manage to generate the required .sty files. In trying to bypass
the build system, I just run: `cd l3kernel; tex l3.ins`. It seems all
of the expected .sty files are now being concatenated into a file
`expl3-code.tex` rather than generated outright. This is also true for
the version on CTAN.
It seems I've missed a lot. Could someone bring me up to date? :-/
Thanks!
We've not supported loading individual modules from the 'kernel' bundle
for some years. Thus trying to do
\RequirePackage{l3prop}
without
\RequirePackage{expl3}
first has raised an error for quite a while now (I think from around the
time we rearranged from "l3in2e"/"xpackages" to
"l3kernel"/"l3packages"/"l3experimental": if you really want to know
I'll check back over the SVN).
As part of making expl3 loadable on top of formats other than LaTeX2e
(at least, on top of plain/ConTeXt: others not tested), it was much more
straight forward to roll all of the l3kernel code up into a single
extracted files. That makes no difference to how things are loaded it
should be more-or-less no issue: you used to need
"\RequirePackage{expl3}" and you still do. This also has the advantage
of reducing the 'log noise' from loading expl3 and the risk of
mis-matching files for the kernel part of the bundle.
Note that this change was included in the usual announcements I make
before uploading code to CTAN.
--
Joseph Wright
I notice in the e-mail title you mention l3str. That one is slightly
different as it's not part of l3kernel, or at least l3str.sty is not.
We've added a new "string" module to the kernel (l3str.dtx) which has
some \str_... code in it: it unpacks as part of expl3. The more
experimental string code is present in the l3experimental bundle, where
we've renamed the .dtx to l3str-expl.dtx but still extract as l3str.sty.
Over time the functions here will likely be migrated to the kernel,
although there is no time frame for this: any changes will of course get
announced as usual.
--
Joseph Wright
Michiel Helvensteijn
2014-08-31 19:45:43 UTC
Permalink
On Sun, Aug 31, 2014 at 5:13 PM, Joseph Wright
Post by Joseph Wright
We've not supported loading individual modules from the 'kernel' bundle
for some years. Thus trying to do
\RequirePackage{l3prop}
without
\RequirePackage{expl3}
first has raised an error for quite a while now
That's not the problem. This is all *with* \RequirePackage{expl3}
Post by Joseph Wright
As part of making expl3 loadable on top of formats other than LaTeX2e
(at least, on top of plain/ConTeXt: others not tested), it was much more
straight forward to roll all of the l3kernel code up into a single
extracted files. That makes no difference to how things are loaded it
should be more-or-less no issue: you used to need
"\RequirePackage{expl3}" and you still do.
Let me put it like this. Until now, I've always been able to do this:

\RequirePackage{expl3}
\RequirePackage{l3prop}

But now, this gives me the error message:

! LaTeX Error: File `l3prop.sty' not found.
Post by Joseph Wright
Note that this change was included in the usual announcements I make
before uploading code to CTAN.
Apologies. I admit I haven't been following your announcements for
some time, because LaTeX has not been a priority of late.
Post by Joseph Wright
I notice in the e-mail title you mention l3str
Apologies again. That was just an example, not really relevant to my case.

Thanks,
--
www.mhelvens.net
Frank Mittelbach
2014-08-31 19:56:48 UTC
Permalink
This post might be inappropriate. Click to display it.
Michiel Helvensteijn
2014-08-31 20:09:52 UTC
Permalink
On Sun, Aug 31, 2014 at 9:56 PM, Frank Mittelbach
Post by Frank Mittelbach
Post by Joseph Wright
\RequirePackage{expl3}
\RequirePackage{l3prop}
! LaTeX Error: File `l3prop.sty' not found.
correct. This is because we finally removed the individual .sty files.
...
Therefore we announced way back that one should always load expl3 and not
any individual files.
I see. Thanks, this explains a lot. That must have been before I ever
started playing with expl3. I've always assumed the individual
packages were required. Moreover, I'm pretty sure I got that from an
official example at the time.
Post by Frank Mittelbach
and now we finally extract everything into a single file and the individual
files only exist on the source level (just like LaTeX2e where you have many
source files (.dtx) but only a single latex.ltx
(Actually, I can't find any announcement of this.)
Post by Frank Mittelbach
So I guess you have to bite the bullet and remove the calls to individual
files as it really don't make any sense to provide empty .sty files just to
support the above scenario
Hm.. I didn't even think of that. But actually, it makes perfect
sense. Have those files do nothing but print a deprecation warning.
Keep them around for a year, and maybe then remove them.

I will fix my own packages now, of course. But can you be sure I am
the only one to have made this mistake?
--
www.mhelvens.net
Mittelbach, Frank
2014-09-02 08:04:43 UTC
Permalink
Post by Michiel Helvensteijn
Post by Frank Mittelbach
So I guess you have to bite the bullet and remove the calls to
individual files as it really don't make any sense to provide empty
.sty files just to support the above scenario
Hm.. I didn't even think of that. But actually, it makes perfect
sense. Have those files do nothing but print a deprecation warning.
Keep them around for a year, and maybe then remove them.
perhaps we should do that. On the other hand if it is just a warning in
the log then chances are we will be in the same boat next year. Still ...
Post by Michiel Helvensteijn
I will fix my own packages now, of course. But can you be sure I am
the only one to have made this mistake?
no, but you are so far the only person who raised the point - whatever
this proves :-)

Guess it is easy enough to provide semi empty .sty files with a warning
so I guess we should probably follow your suggestion

frank
Michiel Helvensteijn
2014-09-02 09:00:42 UTC
Permalink
On Tue, Sep 2, 2014 at 10:04 AM, Mittelbach, Frank
Post by Mittelbach, Frank
perhaps we should do that. On the other hand if it is just a warning in
the log then chances are we will be in the same boat next year. Still ...
Even an error message that explains the situation would be preferable
to the standard "File `l3prop.sty' not found" error.
--
www.mhelvens.net
Mittelbach, Frank
2014-09-02 09:30:39 UTC
Permalink
Post by Michiel Helvensteijn
Even an error message that explains the situation would be preferable
to the standard "File `l3prop.sty' not found" error.
ok that's probably better than a warning. Error and explaining what to
change, followed by loading expl3 so that the document can continue

frank
Michiel Helvensteijn
2014-09-02 10:03:38 UTC
Permalink
On Tue, Sep 2, 2014 at 11:30 AM, Mittelbach, Frank
Post by Mittelbach, Frank
Post by Michiel Helvensteijn
Even an error message that explains the situation would be preferable
to the standard "File `l3prop.sty' not found" error.
ok that's probably better than a warning. Error and explaining what to
change, followed by loading expl3 so that the document can continue
That seems sensible. Users have probably (and justifiably) become
desensitized to console-warnings.
--
www.mhelvens.net
Frank Mittelbach
2014-09-06 08:40:51 UTC
Permalink
Post by Michiel Helvensteijn
On Tue, Sep 2, 2014 at 11:30 AM, Mittelbach, Frank
Post by Mittelbach, Frank
Post by Michiel Helvensteijn
Even an error message that explains the situation would be preferable
to the standard "File `l3prop.sty' not found" error.
ok that's probably better than a warning. Error and explaining what to
change, followed by loading expl3 so that the document can continue
That seems sensible. Users have probably (and justifiably) become
desensitized to console-warnings.
I've now added the old modules to the expl3 distribution source ... so
with the next snapshot update those should appear on CTAN

frank

Loading...