diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2023-11-08 12:02:19 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-08 12:02:19 +0000 |
commit | d49b3ff9e3ddbd7b06918e69bd759c9c3ce18db5 (patch) | |
tree | 9f514d7983e210462fdb571a9c15b97349668f84 /doc/languages-frameworks/texlive.section.md | |
parent | 89ac5d8ca30f4f55747925d7b155e5aeeae9f52e (diff) | |
parent | 263a89fa08bf3c69ddb402924d3e423e71461ef2 (diff) | |
download | nixpkgs-d49b3ff9e3ddbd7b06918e69bd759c9c3ce18db5.tar nixpkgs-d49b3ff9e3ddbd7b06918e69bd759c9c3ce18db5.tar.gz nixpkgs-d49b3ff9e3ddbd7b06918e69bd759c9c3ce18db5.tar.bz2 nixpkgs-d49b3ff9e3ddbd7b06918e69bd759c9c3ce18db5.tar.lz nixpkgs-d49b3ff9e3ddbd7b06918e69bd759c9c3ce18db5.tar.xz nixpkgs-d49b3ff9e3ddbd7b06918e69bd759c9c3ce18db5.tar.zst nixpkgs-d49b3ff9e3ddbd7b06918e69bd759c9c3ce18db5.zip |
Merge staging-next into staging
Diffstat (limited to 'doc/languages-frameworks/texlive.section.md')
-rw-r--r-- | doc/languages-frameworks/texlive.section.md | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/doc/languages-frameworks/texlive.section.md b/doc/languages-frameworks/texlive.section.md index 777e94c16f1..2ba846dc492 100644 --- a/doc/languages-frameworks/texlive.section.md +++ b/doc/languages-frameworks/texlive.section.md @@ -2,6 +2,46 @@ Since release 15.09 there is a new TeX Live packaging that lives entirely under attribute `texlive`. +## User's guide (experimental new interface) {#sec-language-texlive-user-guide-experimental} + +Release 23.11 ships with a new interface that will eventually replace `texlive.combine`. + +- For basic usage, use some of the prebuilt environments available at the top level, such as `texliveBasic`, `texliveSmall`. For the full list of prebuilt environments, inspect `texlive.schemes`. + +- Packages cannot be used directly but must be assembled in an environment. To create or add packages to an environment, use + ```nix + texliveSmall.withPackages (ps: with ps; [ collection-langkorean algorithms cm-super ]) + ``` + The function `withPackages` can be called multiple times to add more packages. + + - **Note.** Within Nixpkgs, packages should only use prebuilt environments as inputs, such as `texliveSmall` or `texliveInfraOnly`, and should not depend directly on `texlive`. Further dependencies should be added by calling `withPackages`. This is to ensure that there is a consistent and simple way to override the inputs. + +- `texlive.withPackages` uses the same logic as `buildEnv`. Only parts of a package are installed in an environment: its 'runtime' files (`tex` output), binaries (`out` output), and support files (`tlpkg` output). Moreover, man and info pages are assembled into separate `man` and `info` outputs. To add only the TeX files of a package, or its documentation (`texdoc` output), just specify the outputs: + ```nix + texlive.withPackages (ps: with ps; [ + texdoc # recommended package to navigate the documentation + perlPackages.LaTeXML.tex # tex files of LaTeXML, omit binaries + cm-super + cm-super.texdoc # documentation of cm-super + ]) + ``` + +- All packages distributed by TeX Live, which contains most of CTAN, are available and can be found under `texlive.pkgs`: + ```ShellSession + $ nix repl + nix-repl> :l <nixpkgs> + nix-repl> texlive.pkgs.[TAB] + ``` + Note that the packages in `texlive.pkgs` are only provided for search purposes and must not be used directly. + +- **Experimental and subject to change without notice:** to add the documentation for all packages in the environment, use + ```nix + texliveSmall.__overrideTeXConfig { withDocs = true; } + ``` + This can be applied before or after calling `withPackages`. + + The function currently support the parameters `withDocs`, `withSources`, and `requireTeXPackages`. + ## User's guide {#sec-language-texlive-user-guide} - For basic usage just pull `texlive.combined.scheme-basic` for an environment with basic LaTeX support. |