circular dependency when building LaTeX?
Thiago Jung Bauermann
bauermann at kolabnow.com
Sat Jun 26 23:23:08 CEST 2021
Hello Phelype,
Em sexta-feira, 25 de junho de 2021, às 10:33:56 -03, Phelype Oleinik
escreveu:
> On 6/25/21 01:50, Thiago Jung Bauermann wrote:>
>
> > 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?
>
> It doesn't need to be _generated_, it just needs to exist.
Generating files during the build process is much preferred to using pre-
generated ones, because if one wants or needs to modify the software they
are running, it’s much better to change the source file. Generated files are
often too cumbersome or unintelligible to be modified. Perhaps that’s not
the case for the xparse files specifically. I haven’t looked closely.
This isn’t just a theoretical concern. Guix has a mechanism called “package
transformations”¹ where the user can specify a patch to be applied to the
package they are installing. Guix strives to make it easy for users to
modify the software on their systems.
> |xparse-generic.tex| and the |xparse-<date>.sty| you mention are no
>
> longer generated from |xparse.ins| because the development version moved
> to |ltcmd.dtx| in latex-base.
>
> Also, the |texlive-2020.1| tag is frozen and doesn't get any more
> updates. I'd recommend you use the |trunk| version (updated daily),
> which has the newest LaTeX, that I mentioned.
Interesting suggestion, thanks. Is trunk considered a stable version of the
TeX Live distribution that can be relied upon by users?
> >> 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?
>
> No, nowadays that file is frozen and won't change, so you'll have to
> just copy it verbatim.
Ok, I will do that.
> > 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?
>
> Exactly (I am the one to blame :-). |xparse-generic.tex| was generated
> then modified by hand, but I forgot to add a similar note on its header.
Ok, that makes it unrealistic to try to generate it during the build
process. I’ll simply copy the versions that are in the CTAN package. As you
mention, this is a temporary situation that will go away after
texlive-2021.1, so the impact is limited.
--
Thanks,
Thiago
¹ https://guix.gnu.org/en/manual/devel/en/html_node/Package-Transformation-Options.html
More information about the tex-live
mailing list.