在 NixOS 上安裝 CMU 字型
我發現我需要CMU 字型才能使用 XeLaTeX 排版俄語文本。在 NixOS 下有它的
cm-unicode
包,我已經安裝了它nix-env -iA nixos.cm_unicode
但 XeLaTeX 仍然找不到它。我可以在 Ubuntu 上使用 XeLaTeX 編譯的 LaTeX 文件在 NixOS 上無法使用 XeLaTeX 編譯,並且我收到一條錯誤消息,指出找不到我指示的 CMU 字型。
我了解到我可以使用 列出系統上安裝的所有字型
fc-list
,因此我嘗試執行fc-list | grep -i cmu
,fc-list | grep -i com
,fc-list | grep -i unic
,但沒有得到任何結果。我怎樣才能安裝這個字型? 這是針對 NixOS 17.09 的。
順便說一句,我已經不得不手動安裝拉丁現代字型:它最初無法在 XeLaTeX 中選擇,但是在我安裝了帶有 的
lmodern
包後nix-env -i
,它工作正常。我剛剛再次對此進行了測試:解除安裝
lmodern
with會從和nix-env -e
from 的結果中刪除 Latin Modern ,安裝 with會恢復它。與.fc-list``font-manager``nix-env -i``cm_unicode
我有一個可能相關的問題,所以我把它放在這裡。(如果事實證明它不相關,我將不勝感激簡短的評論或解釋。)
我想在我的 中定義我的 TeX Live 環境及其所有依賴項
.nixpkgs/config.nix
,所以我做了# .nixpkgs/config.nix { # ... packageOverrides = pkgs: { myTexLive = pkgs.texlive.combine { inherit (pkgs.texlive) scheme-basic collection-bibtexextra collection-fontsrecommended collection-genericrecommended collection-langcyrillic collection-langfrench collection-latex collection-latexextra collection-latexrecommended collection-mathextra collection-xetex cm-unicode # from `collection-fontsextra` latexmk lm # from `collection-fontsrecommended` lm-math # from `collection-fontsrecommended` texdoc; }; }
我希望擁有
lm
和cm-unicode
TeX Live 軟體包足以安裝 Latin Modern 和 CMU 字型,但它不起作用。有沒有辦法將必要的字型聲明為依賴項
myTexLive
?
在 NixOS 上無法安裝
nix-env
字型,因為要找到字型,需要創建各種數據庫。這需要副作用,但 Nix 包是純函式。通常,您可以將副作用程式碼視為由nixos-rebuild
;處理。因此您需要使用configuration.nix
:fonts.fonts = [ pkgs.cm_unicode ];
您可以觀看我關於 NixOS 字型的影片以進行展示。請原諒我的機器人聲音。
有關 Latex 特定資訊,請參閱https://nixos.org/nixpkgs/manual/#sec-language-texlive