Subject: Re: [bug#54220] [PATCH] doc: Add "Using TeX and LaTeX" chapter.

From: Ricardo Wurmus <[email-masked]>
Date: Wed, 02 Mar 2022 11:12:46 +0100

Ludovic Courtès <[email-masked]> writes:

> * doc/guix.texi (Using TeX and LaTeX): New node.

Perfect!

> It’s a top-level chapter, because I couldn’t find any better place, but
> I think it’s fine.

Hmm, maybe in (possibly renamed) “Application Setup”?

> +@cindex @TeX{} packages
> +@cindex @LaTeX{} packages
> +Guix provides packages for the @TeX{} and @LaTeX{} typesetting systems,
> +taken from the @uref{https://www.tug.org/texlive/, @TeX{} Live
> +distribution}.  However, because @TeX{} Live is so huge and because
> +finding your way in this maze is tricky, we thought that you, dear user,
> +would welcome guidance on how to deploy the relevant packages so you can
> +compile your @TeX{} and @LaTeX{} documents.

Why single out TeX in particular?  TeX Live also includes ConTeXt,
Xe(La)TeX, Lua(La)TeX etc.  I guess LaTeX is the most widely known and
TeX is the common basis of them all, so maybe that’s good enough a
reason.

> +the features you need---@code{texlive-latex-listings} for the
> +@code{listings} package, @code{texlive-hyperref} for @code{hyperref},
> +@code{texlive-beamer} for Beamer, @code{texlive-latex-pgf} for PGF/TikZ,

I’d very much like to avoid giving the old names visibility.
“texlive-latex-listings” is old as is “texlive-latex-pgf”.  It really
should be “texlive-listings” and “texlive-pgf”.  Previously I had not
been aware of the tlpdb, so these packages were literally just an
arbitrary slice of the TeX Live SVN repository and thus had to be named
according to the directory name to disambiguate the package providing
“tex/generic/foo” from the one providing “tex/latex/foo”.

With the svn-multi fetch method we were finally able to fully specify
the source for any given TeX Live package by selecting more than one SVN
location.  Together with the tlpdb, which specifies all locations for a
given packgae name, this allowed us to finally include *all* expected
files in “texlive-” packages, and thus removing the need for
disambiguation through package name infixes.

In short: I’d prefer to deprecate all old names and only mention the new
names in the documentation to avoid confusion.

> +@xref{Invoking guix package, @option{--manifest}}, for more on
> +manifests.  In the future, we plan to provide packages for @TeX{} Live
> +@dfn{collections}---``meta-packages'' such as @code{fontsrecommended},
> +@code{humanities}, or @code{langarabic} that provide the set of packages
> +needed in this particular domain.  That will allow you to list fewer
> +packages.

Working on it!

> +@example
> +$ guix shell texlive-base -- tlmgr info phvr7t
> +tlmgr: cannot find package phvr7t, searching for other matches:
> +
> +Packages containing `phvr7t' in their title/description:
> +
> +Packages containing files matching `phvr7t':
> +helvetic:
> +        texmf-dist/fonts/tfm/adobe/helvetic/phvr7t.tfm
> +        texmf-dist/fonts/tfm/adobe/helvetic/phvr7tn.tfm
> +        texmf-dist/fonts/vf/adobe/helvetic/phvr7t.vf
> +        texmf-dist/fonts/vf/adobe/helvetic/phvr7tn.vf
> +tex4ht:
> +        texmf-dist/tex4ht/ht-fonts/alias/adobe/helvetic/phvr7t.htf
> +@end example
> +
> +The file is available in the @TeX{} Live @code{helvetic} package, which is
> +known in Guix as @code{texlive-helvetic}.  Quite a ride, but we found
> +it!

Perfect!

Thank you!

-- 
Ricardo