2016-03-26 12:26:29 +03:00
<section xmlns= "http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-language-texlive">
<title > TeX Live</title>
<para > Since release 15.09 there is a new TeX Live packaging that lives entirely under attribute <varname > texlive</varname> .</para>
<section > <title > User's guide</title>
<itemizedlist >
<listitem > <para >
For basic usage just pull <varname > texlive.combined.scheme-basic</varname> for an environment with basic LaTeX support.</para> </listitem>
<listitem > <para >
It typically won't work to use separately installed packages together.
Instead, you can build a custom set of packages like this:
<programlisting >
texlive.combine {
inherit (texlive) scheme-small collection-langkorean algorithms cm-super;
}
</programlisting>
There are all the schemes, collections and a few thousand packages, as defined upstream (perhaps with tiny differences).
</para> </listitem>
<listitem > <para >
By default you only get executables and files needed during runtime, and a little documentation for the core packages. To change that, you need to add <varname > pkgFilter</varname> function to <varname > combine</varname> .
<programlisting >
texlive.combine {
# inherit (texlive) whatever-you-want;
pkgFilter = pkg:
pkg.tlType == "run" || pkg.tlType == "bin" || pkg.pname == "cm-super";
# elem tlType [ "run" "bin" "doc" "source" ]
# there are also other attributes: version, name
}
</programlisting>
</para> </listitem>
<listitem > <para >
You can list packages e.g. by <command > nix-repl</command> .
<programlisting >
$ nix-repl
2016-10-20 09:50:54 +03:00
nix-repl> :l < nixpkgs>
2016-03-26 12:26:29 +03:00
nix-repl> texlive.collection-< TAB>
</programlisting>
</para> </listitem>
</itemizedlist>
</section>
<section > <title > Known problems</title>
<itemizedlist >
<listitem > <para >
Some tools are still missing, e.g. luajittex;</para> </listitem>
<listitem > <para >
some apps aren't packaged/tested yet (asymptote, biber, etc.);</para> </listitem>
<listitem > <para >
feature/bug: when a package is rejected by <varname > pkgFilter</varname> , its dependencies are still propagated;</para> </listitem>
<listitem > <para >
in case of any bugs or feature requests, file a github issue or better a pull request and /cc @vcunat.</para> </listitem>
</itemizedlist>
</section>
</section>