[tex-live] Feature request: "package dependency" field on CTAN

George N. White III gnwiii at gmail.com
Sun Nov 13 15:07:25 CET 2016


On Sat, Nov 12, 2016 at 6:43 PM, Karl Berry <karl at freefriends.org> wrote:

> Hello Hironobu,
>
>     For example, newtx depends on kastrup,
>
> aka binhex.tex. Somewhat surprising to me, but ok, I see it.
> I added it.
>
>     and luatexja depends on filehook.
>
> But, at least at a glance, only if array is not already loaded.
>
> Therefore I would not recommend that luatexja unconditionally depend on
> filehook -- one such case might not matter, but imagine if every package
> listed every other package that it *might* load, across all engines and
> all formats. You might as well install everything in the first place and
> be done with it. Which is, not coincidentally, already the default.
>
> As I've said before, conditional dependencies in the TeX world seem like
> a problem beyond the state of the art. Debian's "weak depends" would not
> be helpful, and I don't know of anything in practice that's gone beyond
> that. It seems to me the only true solution is to load packages at
> runtime a la MiKTeX, and that is an unsolved (and not easy) problem for TL.
> New developers welcome :).
>
>      it's getting harder and harder to set all
>      dependencies correctly by hand.
>
> It's no harder than it ever was: it's always been impossible, and it
> will remain impossible :). It is not and cannot be a goal to list every
> dependency. It's delusionary to think it can be done.
>

For the majority of "use cases", you just want a way to ensure that
packages
(with the appropriate version) needed for a specific task are installed.
Most users at my institute have either MiKTeX or a linux distro's telxlive
package.   MikTeX's on-the-fly package loading is nice when you have
Internet access, but users often want to work on documents in off-hours
while at sea or in the field with either zero or expensive Internet access.
They start with some existing template that worked on their desktop,
only to find that some packages are missing or outdated on the laptop
in the field.

The majority of these cases start with a publisher's journal or report
style/class.  Maybe it makes sense to have meta-packages for these
journal or report styles/classes.

    seems to be resolved manually by TeX Live team in some cases
>
> It is effectively the authors (and users) who do it now -- they send
> dependency information (like you just did), I (and Christian for MiKTeX
> I suppose) add dependencies as is useful.
>
> I have nothing in principle against the proposed CTAN field, as long as
> it used for unconditional dependencies. Meaning something the package
> requires every time it is loaded, with any engine. Anything other than
> that is a slippery slope that will lead to more problems than benefit,
> as far as I can see.
>
> There are various possibilities for automatically determining
> dependencies, going along autotesting packages. For example,
> auto-creating a minimal document, running with -recorder (across
> engines), and going through the output. It's an easy idea to have, not
> such an easy idea to find time to actually implement. --best, karl.
>

This is really best done by maintainers of packages like a journal or
report style/class, but as you indicate, tracking dependencies is not
practical so it has to done by providing lists of packages
required, recommended, or suggested (e.g., commonly used by
authors) for use with a specific class.

Now that MiKTeX has repackaged things to be closer to texlive,
such lists might be useful on both texlive and MiKTeX.

-- 
George N. White III <aa056 at chebucto.ns.ca>
Head of St. Margarets Bay, Nova Scotia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tug.org/pipermail/tex-live/attachments/20161113/e5facbd8/attachment.html>


More information about the tex-live mailing list