私が必要だとわかった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 com
fc-list | grep -i unic
このフォントをどのようにインストールしますか? NixOS 17.09用です。
しかし、すでにLatin Modernフォントを手動でインストールする必要がありました。最初はXeLaTeXでは選択できませんでしたが、lmodern
パッケージをインストールした後はnix-env -i
正常に動作しました。
もう一度テストしました。削除すると、ラテンモダンが結果lmodern
から削除され、インストールすると復元されます。nix-env -e
しかし、うまくいきません。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
TeX Liveパッケージがあれば、Latin ModernとCMUフォントをインストールするのに十分だろうと期待していましたが、うまくいきませcm-unicode
んでした。
必要なフォントを依存関係として宣言する方法はありますかmyTexLive
?
答え1
nix-env
NixOSでは、フォントを見つけるためにデータベースの種類を作成する必要があるため、フォントをインストールできません。これには副作用が必要ですが、Nixパッケージは純粋な機能です。通常、副作用コードはnixos-rebuild
;によって処理されると考えることができます。したがって、以下を使用する必要がありますconfiguration.nix
。
fonts.fonts = [ pkgs.cm_unicode ];
あなたは私のものを見てもいい動画NixOSフォントでデモンストレーションされます。私のロボットの声をすみません。
ラテックスに関する情報については、以下を参照してください。https://nixos.org/nixpkgs/manual/#sec-言語-texlive