Как скомпилировать латексный документ на NixOS?

10

Я обычно использую pdflatexдля компиляции латексных документов, но на NixOS я не вижу, что pdflatexдоступно для установки через $ nix-env -i pdflatex.

$ nix-env -qa pdflatex
error: selector ‘pdflatex’ matches no derivations

Результаты pdflatexпоиска также не отображаются при поиске по адресу nixos.org/nixos/packages.html . Тем не менее, я заметил там пакет rubber, который , по- видимому оборачивает другие программы латексные включая pdflatex. После установки rubberи попытки скомпилировать с ним мой латексный документ я получаю следующую ошибку «pdflatex is not found».

$ rubber --pdf doc.tex
compiling doc.tex...
pdflatex not found
Running pdflatex failed.

Как я могу установить pdflatex для компиляции латексных документов в NixOS?

Почему rubberдоступно для установки через, nix-envтогда как pdflatex, зависимость rubber, нет?

Как примечание, раздел «Tex / Latex» в руководстве не объясняет этого.

mherzl
источник

Ответы:

6

Вы связываете какую-то древнюю версию руководства. Это объясняется в последних версиях: http://nixos.org/nixpkgs/manual/#sec-language-texlive

nix-env -iA nixos.texlive.combined.scheme-basic
Владимир Чунат
источник
1
Или, не на NixOS: nix-env -iA nixpkgs.texlive.combined.scheme-basic( LaTeX Error: File 'lmodern.sty' not found.хотя и выдаст , и не смог понять, как связать его после установки nix-env -i lmodern, основываясь на этом ответе .)
toraritte
Вам нужно использовать эту .combineфункцию вместо отдельной установки пакетов TeX Live.
Владимир Чунат
Я вижу ту же ошибку, на которую указывает @toraritte даже в NixOS 19.09.
Ашеш
@Ashesh: ответ все тот же. Как разработал TeX Live, он scheme-basicочень маленький и не включает Latin Modern. Именно в этом руководстве вы можете смешать свою собственную комбинацию. Если вы хотите простое «решение», просто установите большую схему, например scheme-small, содержит ли этот шрифт, если я выгляжу правильно.
Владимир Чунат
@ VladimírČunát да, именно это я и сделал в конце концов; это работает scheme-mediumи не маленький.
Ашеш