Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

texlive-new: mktextfm: mf command not found #17717

Closed
igsha opened this issue Aug 13, 2016 · 10 comments
Closed

texlive-new: mktextfm: mf command not found #17717

igsha opened this issue Aug 13, 2016 · 10 comments
Labels
6.topic: TeX Issues regarding texlive and TeX in general

Comments

@igsha
Copy link
Contributor

igsha commented Aug 13, 2016

Issue description

mktextfm cannot work because of absence of mf command:

nix-shell:~/nixpkgs]$ mktextfm wnr14
mktextfm: Running mf \mode:=ljfour; mag:=1; nonstopmode; input wnr14
/nix/store/gvn5jvzywdalf9vxhi89yx8cgywqi8ag-texlive-bin-2015/bin/mktextfm: line 104: mf: command not found

Steps to reproduce

[20:45] igor@igor-pc nixpkgs (master) $ nix-shell -I nixpkgs=~/nixpkgs/ -Q -p texlive.combined.scheme-full --pure

[nix-shell:~/nixpkgs]$ mktextfm 
/nix/store/gvn5jvzywdalf9vxhi89yx8cgywqi8ag-texlive-bin-2015/bin/mktextfm: Missing argument(s).
Try `mktextfm --help' for more information.

[nix-shell:~/nixpkgs]$                                                                                                                                                                                                                      [nix-shell:~/nixpkgs]$ mktextfm wnr14
mktextfm: Running mf \mode:=ljfour; mag:=1; nonstopmode; input wnr14
/nix/store/gvn5jvzywdalf9vxhi89yx8cgywqi8ag-texlive-bin-2015/bin/mktextfm: line 104: mf: command not found
grep: wnr14.log: No such file or directory
mktextfm: `mf \mode:=ljfour; mag:=1; nonstopmode; input wnr14' failed to make wnr14.tfm.

[nix-shell:~/nixpkgs]$

However, mktextfm works fine with metafont:

[20:47] igor@igor-pc nixpkgs (master) $ nix-shell -Q -E 'with import /home/igor/nixpkgs { }; runCommand "dummy" { buildInputs = [ (texlive.combine { inherit (texlive) scheme-full metafont; }) ]; } ""' --pure

[nix-shell:~/nixpkgs]$ mktextfm wnr14
mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input wnr14
This is METAFONT, Version 2.7182818 (Web2C 2015/NixOS.org) (preloaded base=mf)

(/home/igor/.texlive2014/texmf-var/fonts/source/lh/lh-ot2/wnr14.mf
(/nix/store/sf01qa4yvigrqw206c25397w4y3vh6pk-texlive-combined-2015/share/texmf/
fonts/source/lh/base/fikparm.mf
(/nix/store/sf01qa4yvigrqw206c25397w4y3vh6pk-texlive-combined-2015/share/texmf/
fonts/source/public/cm/cmbase.mf)
(/nix/store/sf01qa4yvigrqw206c25397w4y3vh6pk-texlive-combined-2015/share/texmf/
fonts/source/lh/base/lcyrbeg.mf)
...
(/nix/store/sf01qa4yvigrqw206c25397w4y3vh6pk-texlive-combined-2015/share/texmf/
fonts/source/lh/lh-ot2/wnliker.mf) ) ) )
Font metrics written on wnr14.tfm.
Output written on wnr14.600gf (128 characters, 35564 bytes).
Transcript written on wnr14.log.
mktextfm: /home/igor/.texlive2014/texmf-var/fonts/tfm/lh/lh-ot2/wnr14.tfm: successfully generated.
/home/igor/.texlive2014/texmf-var/fonts/tfm/lh/lh-ot2/wnr14.tfm

[nix-shell:~/nixpkgs]$

Technical details

  • System: NixOS: 16.09pre88185.52a875f (Flounder)
  • Nix version: nix-env (Nix) 1.11.2
  • Nixpkgs version: 16.09pre88185.52a875f and 16.09.git.a18abd2M
@vcunat
Copy link
Member

vcunat commented Aug 14, 2016

Well, yes, I know about that. I specifically purged metafont from the most basic dependencies, because it needs nontrivial dependencies and "standard LaTeX making" don't require it.

Do you think the situation would be better if mktextfm was removed from envs without metafont? I don't really know what most of the mktex* executables are for...

@igsha
Copy link
Contributor Author

igsha commented Aug 14, 2016

Yes, it is better to remove mktex* from envs without metafont. As far as I know, all of mktex* are used for font generations. E.g., mktextfm converts font to tfm format that would be placed in local cache. LaTeX can use them on the fly (that's why some document compilations may fail). It may confuse users that commands are presented but does not work. However, I thouhgt that scheme-full includes metafont package, but it does not.

@vcunat
Copy link
Member

vcunat commented Aug 14, 2016

However, I thought that scheme-full includes metafont package, but it does not.

I see now; that is a bug caused by the purging I've done.

@deepfire
Copy link
Contributor

@vcunat, switching from Aurulent Sans to LucidaBright made me see this error (on master as of 26 Mar 2017). What should I do?

@vcunat
Copy link
Member

vcunat commented Mar 25, 2017

@deepfire: adding texlive.metafont into your texlive.combine might solve it.

@deepfire
Copy link
Contributor

@vcunat, thanks! Maybe I'll try it..

@tomberek
Copy link
Contributor

@deepfire progress?

@veprbl veprbl added the 6.topic: TeX Issues regarding texlive and TeX in general label Feb 17, 2019
@veprbl
Copy link
Member

veprbl commented Mar 31, 2020

This appears to be working fine. Closing for now.

@veprbl veprbl closed this as completed Mar 31, 2020
@kidmose
Copy link

kidmose commented Jun 22, 2020

Encountered this error with \usepackage[clock]{ifsym}:

\documentclass{article}
\usepackage[clock]{ifsym}
\begin{document}
\VarClock
\end{document}

I can confirm that the problem was solved for my by adding the metafont line below:

environment.systemPackages = with pkgs; [
    # LaTeX stuff
    (texlive.combine {inherit (texlive) scheme-minimal
      collection-langeuropean # danish in babel
      collection-langenglish
      collection-publishers # elsarticle.sty
      collection-fontsextra # dsfont.sty
      collection-fontsrecommended # scalable fonts
      collection-latex
      collection-latexrecommended
      collection-latexextra # fixme.sty
      metafont # mf command line util for fonts (latex package ifsym)    
                      ;})
  ];

@veprbl
Copy link
Member

veprbl commented Jun 22, 2020

I can confirm that the problem was solved for my by adding the metafont line below:

I guess, the general rule of thumb is that if it doesn't reproduce with scheme-full, it's likely not a bug. In this case, as @vcunat, mentioned it's a feature:

# remove dependency-heavy packages from the basic collections
collection-basic = orig.collection-basic // {
deps = removeAttrs orig.collection-basic.deps [ "metafont" "xdvi" ];
};
# add them elsewhere so that collections cover all packages
collection-metapost = orig.collection-metapost // {
deps = orig.collection-metapost.deps // { inherit (tl) metafont; };
};
collection-plaingeneric = orig.collection-plaingeneric // {
deps = orig.collection-plaingeneric.deps // { inherit (tl) xdvi; };
};

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: TeX Issues regarding texlive and TeX in general
Projects
None yet
Development

No branches or pull requests

6 participants