NixOS에 CMU 글꼴 설치

NixOS에 CMU 글꼴 설치

나는 내가 필요하다는 것을 알았다Carnegie Mellon University 글꼴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 comfc-list | grep -i unic

이 글꼴을 어떻게 설치하나요? NixOS 17.09용입니다.


그런데 이미 Latin Modern 글꼴을 수동으로 설치해야 했습니다. 처음에는 XeLaTeX에서 선택할 수 없었지만 lmodern패키지를 설치한 후에는 nix-env -i제대로 작동했습니다.

방금 다시 테스트했습니다. 제거하면 라틴 모던이 결과 lmodern에서 제거되고 설치하면 복원됩니다. nix-env -e하지만 작동하지 않습니다.fc-listfont-managernix-env -icm_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;
    };
}

lmTeX Live 패키지가 있으면 Latin Modern 및 CMU 글꼴을 설치하기에 충분할 것이라고 기대했지만 cm-unicode작동하지 않습니다.

필요한 글꼴을 종속성으로 선언하는 방법이 있습니까 myTexLive?

답변1

nix-envNixOS에서는 글꼴을 찾으려면 일종의 데이터베이스를 만들어야 하기 때문에 글꼴을 설치할 수 없습니다 . 여기에는 부작용이 필요하지만 Nix 패키지는 순수한 기능입니다. 일반적으로 부작용 코드는 nixos-rebuild;에 의해 처리되는 것으로 생각할 수 있습니다. 따라서 다음을 사용해야 합니다 configuration.nix.

fonts.fonts = [ pkgs.cm_unicode ];

너는 내 것을 봐도 돼동영상NixOS 글꼴에서 시연됩니다. 내 로봇 목소리를 실례합니다.

라텍스 관련 정보는 다음을 참조하세요.https://nixos.org/nixpkgs/manual/#sec-언어-texlive

관련 정보