circular dependency when building LaTeX?
Thiago Jung Bauermann
bauermann at kolabnow.com
Fri Jun 25 06:50:03 CEST 2021
Hello Phelype,
Em sexta-feira, 25 de junho de 2021, às 00:16:08 -03, Phelype Oleinik
escreveu:
> Hi Thiago,
>
> A bit of history (before I go to bed :)
Thanks! I really appreciate it.
> Until the 2020-10-01 release of
> the LaTeX kernel, |xparse.sty| was a package of its own and you had to
> load that if you wanted |\NewDocumentCommand| and the like. In the
> 2020-10-01 we (LaTeX team) started using xparse for a lot of kernel
> commands (mostly for the hook management system, initially), so xparse
> was preloaded in the kernel by inputting a |xparse.ltx| file that in the
> end inputted a |xparse-generic.tex| that contained the bulk of the
> xparse code.
>
> This preloading proved to be quite a pain, so for the next release
> (2021-06-01, released just a few days ago), we moved (almost) all the
> xparse code completely to the kernel as |ltcmd|, so now it is _built-in_
> to LaTeX, rather than preloaded.
>
> So if you have a recent LaTeX, xparse (actually ltcmd nowadays) should
> be built-in, thus no dependency. If you have LaTeX 2020-10-01 (and this
> version only), then you need |l3packages| as a dependency because LaTeX
> loads xparse from there.
This is interesting. It’s good to understand the context of what I’m
seeing. Thanks for explaining it.
> Then you said:
> > It’s strange that I get this error then, because the log file does
> > mention that I’m using “LaTeX2e <2020-10-01> patch level 4”
>
> which is exactly the version that requires |l3packages| as a dependency.
Indeed. :-)
> > Thanks! This helped me a lot. I was able to move past that error when I
> > included texlive-latex-l3packages as a build dependency. Unfortunately
> > now I get an error about not finding file ‘xparse-generic.tex’.
> > Looking at 2021.1’s xparse.ins, there’s indeed no \generate statement
> > for that file.
> Due to the "great big xparse move"(TM) I mentioned above, the source
> code of xparse is no longer in |l3packages|, but in |latex-base|, so
> indeed, nothing is generated there.
Ok. I’m just a bit puzzled because I’m using checkouts from the svn tag
“texlive-2021.1” to build everything. If latex-base from that tag needs
xparse-generic.tex, shouldn’t it be generated by l3packages/xparse/
xparse.ins from that same tag?
> There is, however, a frozen
>
> |xparse-generic.tex| in that package that should do what you need, no?
True. Is there a way for me to generate it, or do I have to copy it
verbatim?
I also see a couple of xparse-<date>.sty. Their headers say that they were
“generated from xparse.dtx […] then adapted”. Does that mean that they were
modified by hand after being generated by docstrip?
--
Thanks,
Thiago
More information about the tex-live
mailing list.