unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Missing LaTeX font (R related)
@ 2022-03-23  8:45 TK
  2022-03-23  8:58 ` Ricardo Wurmus
  0 siblings, 1 reply; 8+ messages in thread
From: TK @ 2022-03-23  8:45 UTC (permalink / raw)
  To: help-guix\@gnu.org

Hi all,

I tried to avoid installing the entire texlive package, because, these days I only work with narrowly defined guix environments.

Basically, I am doing `R CMD check pkgdir` on a package and after a while it spews out this:

`!pdfTeX error: pdflatex (file t1-zi4r-0): Font t1-zi4r-0 at 540 not found`

A web search reveals that t1-zi4r-0 is an inconsolata font, but installing "texlive-inconsolata" package does not sort this issue out.

Does anyone have any guidance? Is granular texlive install even possible on Guix? :)

All the best,

T


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Missing LaTeX font (R related)
  2022-03-23  8:45 Missing LaTeX font (R related) TK
@ 2022-03-23  8:58 ` Ricardo Wurmus
  2022-03-23 10:02   ` TK
  0 siblings, 1 reply; 8+ messages in thread
From: Ricardo Wurmus @ 2022-03-23  8:58 UTC (permalink / raw)
  To: TK; +Cc: help-guix


TK <tkprom@protonmail.com> writes:

> `!pdfTeX error: pdflatex (file t1-zi4r-0): Font t1-zi4r-0 at 540 not found`
>
> A web search reveals that t1-zi4r-0 is an inconsolata font, but installing "texlive-inconsolata" package does not sort this issue out.

The texlive-inconsolata package does indeed include that font:

    /gnu/store/…-texlive-inconsolata-59745/share/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm

> Is granular texlive install even possible on Guix? :)

Yes, it is.

-- 
Ricardo


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Missing LaTeX font (R related)
  2022-03-23  8:58 ` Ricardo Wurmus
@ 2022-03-23 10:02   ` TK
  2022-03-29 10:02     ` TK
  2022-03-29 10:22     ` Todor Kondić
  0 siblings, 2 replies; 8+ messages in thread
From: TK @ 2022-03-23 10:02 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 7431 bytes --]

On Wednesday, March 23rd, 2022 at 9:58 AM, Ricardo Wurmus <rekado@elephly.net> wrote:

> TK tkprom@protonmail.com writes:
>
> > `!pdfTeX error: pdflatex (file t1-zi4r-0): Font t1-zi4r-0 at 540 not found`
> >
> > A web search reveals that t1-zi4r-0 is an inconsolata font, but installing "texlive-inconsolata" package does not sort this issue out.
>
> The texlive-inconsolata package does indeed include that font:
>
> /gnu/store/…-texlive-inconsolata-59745/share/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
>
> > Is granular texlive install even possible on Guix? :)
>
> Yes, it is.
>
> --
>
> Ricardo

Hi Ricardo,

Thanks for the reply.

Since texlive-inconsolata is part of my manifest specification, there might be an issue in how I create the environment.

For my work in R, I use the following bash script:
```
#!/bin/sh
theme_dir=$HOME/.local/share/guix-themes
guix shell --pure -c4 -m "$theme_dir/foundation.scm" \
                  -m "$theme_dir/eci.scm" -m "$theme_dir/texpack.scm"
```

I am creating an environment from several manifests. They are shown  below, together with the channels file, for the sake of reproducibility and the mailing list. Also, for anyone's convenience, should they actually want to reproduce the problem,
those files have been attached.

Issuing `R CMD check somepackage` within the shell of the environment will die with the message outlined above.

The package in the command line is just a skeleton created by `Rcpp.package.skeleton`.

Thanks,
T

# Appendix

## channels.scm
```
(use-modules (guix packages)
	     (guix inferior)
	     (guix channels)
	     (guix profiles)
	     (gnu packages)
             (srfi srfi-1))


(define channels
 ;; This is custom Environmental Cheminformatics LCSB channel.
 (list (channel
        (name 'eci-addons)
        (url "https://git.sr.ht/~condor/eci-guix")
	(branch "master")
        (introduction
	 (make-channel-introduction
	  "e7ccb0c185133e23a9a75867e0deef5881ab2d49"
	  (openpgp-fingerprint
	   "EDC3 9790 A06D 5F72 41D9  70F9 BBEF E71B 7A28 3C6F"))))
       (channel
        (name 'nonguix)
        (url "https://gitlab.com/nonguix/nonguix")
        (introduction
         (make-channel-introduction
          "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
          (openpgp-fingerprint
           "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
       (channel
         (name 'guix)
         (url "https://git.savannah.gnu.org/git/guix.git")
         ;; (commit "c852d897551f514de95c224fa79e748f48808068")
	 )))

```

## foundation.scm
```
(use-modules (guix packages)
	     (gnu packages autotools)
	     (gnu packages gcc)
	     (gnu packages perl)
	     (gnu packages mpi)
	     (gnu packages ssh)
	     (gnu packages gawk)
	     (gnu packages base))



(define specs '("bash"
		"make"
		"sbc"
		"openssh"
		"git:send-email"
		"git"
		"grep"
                "sed"
                "gawk"
		"procps"
		"coreutils-minimal"
		"glibc-locales"
		"make"
		"emacs"
                "lesspipe"
                "glibc-locales"
		"guile"
		"pkg-config"
		"nss-certs"
		"wget"
		"xz"
		"tar"
		"gzip"
		"bzip2"))


(define misc-specs '("ispell"
		     "sshpass"
		     "the-silver-searcher"
		     "xdg-utils"
		     "xdg-user-dirs"
		     "pango"
		     "gnupg"
		     "openssl"
		     "gtk+"
		     "man-db"
		     "texinfo"))


(define font-specs '("unicode-emoji"
		     "fontconfig"
		     "font-dejavu"
		     "font-gnu-freefont"
		     ;"font-ubuntu"
		     "font-terminus"
		     "font-liberation"
		     "font-inconsolata"
		     "font-gnu-unifont"
		     "font-public-sans"
		     "font-misc-misc"
		     "font-awesome"
		     "font-hack"
		     "font-iosevka"
		     "font-iosevka-term"
		     "font-iosevka-term-slab"
		     ;"font-iosevka-sparkle"
		     "font-iosevka-slab"
		     "font-iosevka-etoile"
		     "font-iosevka-aile"
		     "font-google-noto"))

(define emacs-specs `("emacs-guix"
                      "emacs-circe"
		      "emacs-geiser"
		      "emacs-paredit"
		      "emacs-bbdb"
		      "emacs-circe"
		      "emacs-use-package"
		      "emacs-ag"
		      "emacs-magit"
		      "emacs-org"
		      "emacs-paredit"
		      ;; "emacs-ess"
		      "emacs-company"
		      "emacs-ivy"
		      "emacs-counsel"
		      "emacs-zenburn-theme"
		      "emacs-solarized-theme"
		      "emacs-cyberpunk-theme"
		      "emacs-atom-one-dark-theme"
		      "emacs-polymode"
		      "emacs-polymode-org"
		      "emacs-polymode-ansible"
		      "emacs-csv"
		      "emacs-smartparens"
		      ;"emacs-elpy"
		      "emacs-wgrep"
		      "emacs-emojify"
		      "emacs-rust-mode"
		      "emacs-flycheck-rust"
		      "emacs-spacemacs-theme"
		      "emacs-punpun-theme"
		      "emacs-org-beautify-theme"
		      "emacs-dream-theme"
		      "emacs-base16-theme"
		      "emacs-ample-theme"
		      "emacs-doom-themes"
		      "emacs-alect-themes"
		      "emacs-almost-mono-themes"
                      ;; "emacs-bluetooth"
		      "emacs-csv"
		      "emacs-csv-mode"
                      "emacs-org-reveal"))

(specifications->manifest `(,@specs
			    ,@emacs-specs
			    ,@misc-specs
			    ,@font-specs))
```

## eci.scm

```
(use-modules  (eci packages bioinformatics)
	      (eci packages cran)
	      (guix packages)
	      (gnu packages chemistry)
	      (gnu packages bioinformatics)
	      (gnu packages bioconductor)
	      (gnu packages statistics)
	      (gnu packages web)
	      (gnu packages image)
	      (gnu packages cran)
	      (gnu packages)
	      (srfi srfi-1))



(define misc-spec '("openbabel"
		    "inchi"
		    "gcc-toolchain"))
(define r-spec `("r" "r-scales"
		 "r-devtools"
		 "r-openssl"
                 "r-foreach"
		 "r-markdown"
		 "r-rmarkdown"
                 "r-dofuture"
                 "r-ff"
                 "r-ffbase"
		 "r-yaml"
                 "r-batchtools"
		 "r-future"
		 "r-mzr"
		 "r-bit64"
		 "r-data-table"
		 "r-msnbase"
		 "r-assertthat"
		 "r-withr"
		 "r-ggplot2"
		 "r-cowplot"
		 "r-rcolorbrewer"
		 "r-curl"
		 "r-shiny"
		 "r-handsontable"
		 "r-dt"
		 "r-tcltk2"
		 "r-protgenerics"
		 "r-massbank"
		 "r-chemmass"
		 "r-r-utils"))




(specifications->manifest `(,@misc-spec
			    ,@r-spec))
```

## texpack.scm
```
(use-modules (guix packages)
	     (gnu packages tex))



(define specs '("texlive-latex-base"
		"texlive-tiny"
		"texlive-latex-tools"
		"texlive-latex-graphics"
                "texlive-kpfonts"
                "texlive-url"
                "texlive-inconsolata"
                "texlive-latex-xkeyval"
                "texlive-fonts-latex"
                "texlive-fonts-ec"
                "texlive-fontspec"
                "texlive-fontname"
                "texlive-fontinst"
                "texlive-hyph-utf8"
                "texlive-hyphen-serbian"
                "texlive-cm"
                "texlive-txfonts"
                "texlive-metafont"
                "texlive-amsfonts"
                "texlive-latex-type1cm"
                "texlive-times"
                "texlive-helvetic"
                "texlive-psnfss"
                "texlive-psnfss-fixed"))




(specifications->manifest `(,@specs))

```

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: foundation.scm --]
[-- Type: text/x-scheme; name=foundation.scm, Size: 2581 bytes --]

(use-modules (guix packages)
	     (gnu packages autotools)
	     (gnu packages gcc)
	     (gnu packages perl)
	     (gnu packages mpi)
	     (gnu packages ssh)
	     (gnu packages gawk)
	     (gnu packages base))



(define specs '("bash"
		"make"
		"sbc"
		"openssh"
		"git:send-email"
		"git"
		"grep"
                "sed"
                "gawk"
		"procps"
		"coreutils-minimal"
		"glibc-locales"
		"make"
		"emacs"
                "lesspipe"
                "glibc-locales"
		"guile"
		"pkg-config"
		"nss-certs"
		"wget"
		"xz"
		"tar"
		"gzip"
		"bzip2"))


(define misc-specs '("ispell"
		     "sshpass"
		     "the-silver-searcher"
		     "xdg-utils"
		     "xdg-user-dirs"
		     "pango"
		     "gnupg"
		     "openssl"
		     "gtk+"
		     "man-db"
		     "texinfo"))


(define font-specs '("unicode-emoji"
		     "fontconfig"
		     "font-dejavu"
		     "font-gnu-freefont"
		     ;"font-ubuntu"
		     "font-terminus"
		     "font-liberation"
		     "font-inconsolata"
		     "font-gnu-unifont"
		     "font-public-sans"
		     "font-misc-misc"
		     "font-awesome"
		     "font-hack"
		     "font-iosevka"
		     "font-iosevka-term"
		     "font-iosevka-term-slab"
		     ;"font-iosevka-sparkle"
		     "font-iosevka-slab"
		     "font-iosevka-etoile"
		     "font-iosevka-aile"
		     "font-google-noto"))

(define emacs-specs `("emacs-guix"
                      "emacs-circe"
		      "emacs-geiser"
		      "emacs-paredit"
		      "emacs-bbdb"
		      "emacs-circe"
		      "emacs-use-package"
		      "emacs-ag"
		      "emacs-magit"
		      "emacs-org"
		      "emacs-paredit"
		      ;; "emacs-ess"
		      "emacs-company"
		      "emacs-ivy"
		      "emacs-counsel"
		      "emacs-zenburn-theme"
		      "emacs-solarized-theme"
		      "emacs-cyberpunk-theme"
		      "emacs-atom-one-dark-theme"
		      "emacs-polymode"
		      "emacs-polymode-org"
		      "emacs-polymode-ansible"
		      "emacs-csv"
		      "emacs-smartparens"
		      ;"emacs-elpy"
		      "emacs-wgrep"
		      "emacs-emojify"
		      "emacs-rust-mode"
		      "emacs-flycheck-rust"
		      "emacs-spacemacs-theme"
		      "emacs-punpun-theme"
		      "emacs-org-beautify-theme"
		      "emacs-dream-theme"
		      "emacs-base16-theme"
		      "emacs-ample-theme"
		      "emacs-doom-themes"
		      "emacs-alect-themes"
		      "emacs-almost-mono-themes"
                      ;; "emacs-bluetooth"
		      "emacs-csv"
		      "emacs-csv-mode"
                      "emacs-org-reveal"))

(specifications->manifest `(,@specs
			    ,@emacs-specs
			    ,@misc-specs
			    ,@font-specs))

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: eci.scm --]
[-- Type: text/x-scheme; name=eci.scm, Size: 1032 bytes --]

(use-modules  (eci packages bioinformatics)
	      (eci packages cran)
	      (guix packages)
	      (gnu packages chemistry)
	      (gnu packages bioinformatics)
	      (gnu packages bioconductor)
	      (gnu packages statistics)
	      (gnu packages web)
	      (gnu packages image)
	      (gnu packages cran)
	      (gnu packages)
	      (srfi srfi-1))



(define misc-spec '("openbabel"
		    "inchi"
		    "gcc-toolchain"))
(define r-spec `("r" "r-scales"
		 "r-devtools"
		 "r-openssl"
                 "r-foreach"
		 "r-markdown"
		 "r-rmarkdown"
                 "r-dofuture"
                 "r-ff"
                 "r-ffbase"
		 "r-yaml"
                 "r-batchtools"
		 "r-future"
		 "r-mzr"
		 "r-bit64"
		 "r-data-table"
		 "r-msnbase"
		 "r-assertthat"
		 "r-withr"
		 "r-ggplot2"
		 "r-cowplot"
		 "r-rcolorbrewer"
		 "r-curl"
		 "r-shiny"
		 "r-handsontable"
		 "r-dt"
		 "r-tcltk2"
		 "r-protgenerics"
		 "r-massbank"
		 "r-chemmass"
		 "r-r-utils"))




(specifications->manifest `(,@misc-spec
			    ,@r-spec))

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: texpack.scm --]
[-- Type: text/x-scheme; name=texpack.scm, Size: 916 bytes --]

(use-modules (guix packages)
	     (gnu packages tex))



(define specs '("texlive-latex-base"
		"texlive-tiny"
		"texlive-latex-tools"
		"texlive-latex-graphics"
                "texlive-kpfonts"
                "texlive-url"
                "texlive-inconsolata"
                "texlive-latex-xkeyval"
                "texlive-fonts-latex"
                "texlive-fonts-ec"
                "texlive-fontspec"
                "texlive-fontname"
                "texlive-fontinst"
                "texlive-hyph-utf8"
                "texlive-hyphen-serbian"
                "texlive-cm"
                "texlive-txfonts"
                "texlive-metafont"
                "texlive-amsfonts"
                "texlive-latex-type1cm"
                "texlive-times"
                "texlive-helvetic"
                "texlive-psnfss"
                "texlive-psnfss-fixed"))




(specifications->manifest `(,@specs))

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: channels.scm --]
[-- Type: text/x-scheme; name=channels.scm, Size: 999 bytes --]

(use-modules (guix packages)
	     (guix inferior)
	     (guix channels)
	     (guix profiles)
	     (gnu packages)
             (srfi srfi-1))


(define channels
 ;; This is custom Environmental Cheminformatics LCSB channel.
 (list (channel
        (name 'eci-addons)
        (url "https://git.sr.ht/~condor/eci-guix")
	(branch "master")
        (introduction
	 (make-channel-introduction
	  "e7ccb0c185133e23a9a75867e0deef5881ab2d49"
	  (openpgp-fingerprint
	   "EDC3 9790 A06D 5F72 41D9  70F9 BBEF E71B 7A28 3C6F"))))
       (channel
        (name 'nonguix)
        (url "https://gitlab.com/nonguix/nonguix")
        (introduction
         (make-channel-introduction
          "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
          (openpgp-fingerprint
           "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
       (channel
         (name 'guix)
         (url "https://git.savannah.gnu.org/git/guix.git")
         ;; (commit "c852d897551f514de95c224fa79e748f48808068")
	 )))


channels

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Missing LaTeX font (R related)
  2022-03-23 10:02   ` TK
@ 2022-03-29 10:02     ` TK
  2022-03-29 10:57       ` Ricardo Wurmus
  2022-03-29 10:22     ` Todor Kondić
  1 sibling, 1 reply; 8+ messages in thread
From: TK @ 2022-03-29 10:02 UTC (permalink / raw)
  To: TK; +Cc: Ricardo Wurmus, help-guix

On Wednesday, March 23rd, 2022 at 11:02 AM, TK <tkprom@protonmail.com> wrote:

> On Wednesday, March 23rd, 2022 at 9:58 AM, Ricardo Wurmus rekado@elephly.net wrote:
>
> > TK tkprom@protonmail.com writes:
> >
> > > `!pdfTeX error: pdflatex (file t1-zi4r-0): Font t1-zi4r-0 at 540 not found`
> > >
> > > A web search reveals that t1-zi4r-0 is an inconsolata font, but installing "texlive-inconsolata" package does not sort this issue out.
> >
> > The texlive-inconsolata package does indeed include that font:
> >
> > /gnu/store/…-texlive-inconsolata-59745/share/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
> >
> > > Is granular texlive install even possible on Guix? :)
> >
> > Yes, it is.
> >
> > --
> >
> > Ricardo
>
> Hi Ricardo,
>
> Thanks for the reply.
>
> Since texlive-inconsolata is part of my manifest specification, there might be an issue in how I create the environment.
>
> For my work in R, I use the following bash script:
>
> `#!/bin/sh theme_dir=$HOME/.local/share/guix-themes guix shell --pure -c4 -m "$theme_dir/foundation.scm" \\ -m "$theme_dir/eci.scm" -m "$theme_dir/texpack.scm"`
>
> I am creating an environment from several manifests. They are shown below, together with the channels file, for the sake of reproducibility and the mailing list. Also, for anyone's convenience, should they actually want to reproduce the problem,
>
> those files have been attached.
>
> Issuing `R CMD check somepackage` within the shell of the environment will die with the message outlined above.
>
> The package in the command line is just a skeleton created by `Rcpp.package.skeleton`.
>
> Thanks,
>
> T
>
> # Appendix
>
> ## channels.scm
>
> `(use-modules (guix packages) (guix inferior) (guix channels) (guix profiles) (gnu packages) (srfi srfi-1)) (define channels ;; This is custom Environmental Cheminformatics LCSB channel. (list (channel (name 'eci-addons) (url "https://git.sr.ht/~condor/eci-guix") (branch "master") (introduction (make-channel-introduction "e7ccb0c185133e23a9a75867e0deef5881ab2d49" (openpgp-fingerprint "EDC3 9790 A06D 5F72 41D9 70F9 BBEF E71B 7A28 3C6F")))) (channel (name 'nonguix) (url "https://gitlab.com/nonguix/nonguix") (introduction (make-channel-introduction "897c1a470da759236cc11798f4e0a5f7d4d59fbc" (openpgp-fingerprint "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") ;; (commit "c852d897551f514de95c224fa79e748f48808068") )))`
>
> ## foundation.scm
>
> ```
>
> (use-modules (guix packages)
>
> (gnu packages autotools)
>
> (gnu packages gcc)
>
> (gnu packages perl)
>
> (gnu packages mpi)
>
> (gnu packages ssh)
>
> (gnu packages gawk)
>
> (gnu packages base))
>
> (define specs '("bash"
>
> "make"
>
> "sbc"
>
> "openssh"
>
> "git:send-email"
>
> "git"
>
> "grep"
>
> "sed"
>
> "gawk"
>
> "procps"
>
> "coreutils-minimal"
>
> "glibc-locales"
>
> "make"
>
> "emacs"
>
> "lesspipe"
>
> "glibc-locales"
>
> "guile"
>
> "pkg-config"
>
> "nss-certs"
>
> "wget"
>
> "xz"
>
> "tar"
>
> "gzip"
>
> "bzip2"))
>
> (define misc-specs '("ispell"
>
> "sshpass"
>
> "the-silver-searcher"
>
> "xdg-utils"
>
> "xdg-user-dirs"
>
> "pango"
>
> "gnupg"
>
> "openssl"
>
> "gtk+"
>
> "man-db"
>
> "texinfo"))
>
> (define font-specs '("unicode-emoji"
>
> "fontconfig"
>
> "font-dejavu"
>
> "font-gnu-freefont"
>
> ;"font-ubuntu"
>
> "font-terminus"
>
> "font-liberation"
>
> "font-inconsolata"
>
> "font-gnu-unifont"
>
> "font-public-sans"
>
> "font-misc-misc"
>
> "font-awesome"
>
> "font-hack"
>
> "font-iosevka"
>
> "font-iosevka-term"
>
> "font-iosevka-term-slab"
>
> ;"font-iosevka-sparkle"
>
> "font-iosevka-slab"
>
> "font-iosevka-etoile"
>
> "font-iosevka-aile"
>
> "font-google-noto"))
>
> (define emacs-specs `("emacs-guix" "emacs-circe" "emacs-geiser" "emacs-paredit" "emacs-bbdb" "emacs-circe" "emacs-use-package" "emacs-ag" "emacs-magit" "emacs-org" "emacs-paredit" ;; "emacs-ess" "emacs-company" "emacs-ivy" "emacs-counsel" "emacs-zenburn-theme" "emacs-solarized-theme" "emacs-cyberpunk-theme" "emacs-atom-one-dark-theme" "emacs-polymode" "emacs-polymode-org" "emacs-polymode-ansible" "emacs-csv" "emacs-smartparens" ;"emacs-elpy" "emacs-wgrep" "emacs-emojify" "emacs-rust-mode" "emacs-flycheck-rust" "emacs-spacemacs-theme" "emacs-punpun-theme" "emacs-org-beautify-theme" "emacs-dream-theme" "emacs-base16-theme" "emacs-ample-theme" "emacs-doom-themes" "emacs-alect-themes" "emacs-almost-mono-themes" ;; "emacs-bluetooth" "emacs-csv" "emacs-csv-mode" "emacs-org-reveal")) (specifications->manifest` (,@specs
>
> ,@emacs-specs
>
> ,@misc-specs
>
> ,@font-specs))
>
> `## eci.scm`
>
> (use-modules (eci packages bioinformatics)
>
> (eci packages cran)
>
> (guix packages)
>
> (gnu packages chemistry)
>
> (gnu packages bioinformatics)
>
> (gnu packages bioconductor)
>
> (gnu packages statistics)
>
> (gnu packages web)
>
> (gnu packages image)
>
> (gnu packages cran)
>
> (gnu packages)
>
> (srfi srfi-1))
>
> (define misc-spec '("openbabel"
>
> "inchi"
>
> "gcc-toolchain"))
>
> (define r-spec `("r" "r-scales" "r-devtools" "r-openssl" "r-foreach" "r-markdown" "r-rmarkdown" "r-dofuture" "r-ff" "r-ffbase" "r-yaml" "r-batchtools" "r-future" "r-mzr" "r-bit64" "r-data-table" "r-msnbase" "r-assertthat" "r-withr" "r-ggplot2" "r-cowplot" "r-rcolorbrewer" "r-curl" "r-shiny" "r-handsontable" "r-dt" "r-tcltk2" "r-protgenerics" "r-massbank" "r-chemmass" "r-r-utils")) (specifications->manifest` (,@misc-spec
>
> ,@r-spec))
>
> `## texpack.scm`
>
> (use-modules (guix packages)
>
> (gnu packages tex))
>
> (define specs '("texlive-latex-base"
>
> "texlive-tiny"
>
> "texlive-latex-tools"
>
> "texlive-latex-graphics"
>
> "texlive-kpfonts"
>
> "texlive-url"
>
> "texlive-inconsolata"
>
> "texlive-latex-xkeyval"
>
> "texlive-fonts-latex"
>
> "texlive-fonts-ec"
>
> "texlive-fontspec"
>
> "texlive-fontname"
>
> "texlive-fontinst"
>
> "texlive-hyph-utf8"
>
> "texlive-hyphen-serbian"
>
> "texlive-cm"
>
> "texlive-txfonts"
>
> "texlive-metafont"
>
> "texlive-amsfonts"
>
> "texlive-latex-type1cm"
>
> "texlive-times"
>
> "texlive-helvetic"
>
> "texlive-psnfss"
>
> "texlive-psnfss-fixed"))
>
> (specifications->manifest `(,@specs))
>
> ```

After some more investigation, I think I narrowed down the issue. Package texlive-inconsolata indeed installs the `t1-zi4r-0' font. However, the `map' for that font exists only under dvips, not in the pdftex subdir.

On my system, under the dvips map directory of the profile associated with the corresponding Guix environment,
`/gnu/store/m2g80qz67lxxa7744wkclaifvbwa1bdi-profile/share/texmf-dist/fonts/map/dvips/inconsolata', there exists a `zi4.map` file which lists the problematic font. In contrast, the flat `pdftex' map file, `/gnu/store/m2g80qz67lxxa7744wkclaifvbwa1bdi-profile/share/texmf-dist/fonts/map/pdftex/updmap/pdftex.map' does not contain any Inconsolata (zi4) entry.

I am not a TeX magus, but it is indicative that the file on the official TeXLive repo https://tug.org/svn/texlive/trunk/Master/texmf-dist/fonts/map/pdftex/updmap/pdftex.map does contain `zi4' entries.

Shouldn't the installation of texlive-inconsolata put the corresponding entries into `pdftex.map'? Any hints on where to go from here?

Thanks!

Cheers,

T


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Missing LaTeX font (R related)
  2022-03-23 10:02   ` TK
  2022-03-29 10:02     ` TK
@ 2022-03-29 10:22     ` Todor Kondić
  1 sibling, 0 replies; 8+ messages in thread
From: Todor Kondić @ 2022-03-29 10:22 UTC (permalink / raw)
  To: TK; +Cc: Ricardo Wurmus, help-guix

> On Wednesday, March 23rd, 2022 at 9:58 AM, Ricardo Wurmus rekado@elephly.net wrote:
>
> > TK tkprom@protonmail.com writes:
> >
> > > `!pdfTeX error: pdflatex (file t1-zi4r-0): Font t1-zi4r-0 at 540 not found`
> > >
> > > A web search reveals that t1-zi4r-0 is an inconsolata font, but installing "texlive-inconsolata" package does not sort this issue out.
> >
> > The texlive-inconsolata package does indeed include that font:
> >
> > /gnu/store/…-texlive-inconsolata-59745/share/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
> >
> > > Is granular texlive install even possible on Guix? :)
> >
> > Yes, it is.
> >
> > --
> >
> > Ricardo
>
> Hi Ricardo,
>
> Thanks for the reply.
>
> Since texlive-inconsolata is part of my manifest specification, there might be an issue in how I create the environment.
>
> For my work in R, I use the following bash script:
>
> `#!/bin/sh theme_dir=$HOME/.local/share/guix-themes guix shell --pure -c4 -m "$theme_dir/foundation.scm" \\ -m "$theme_dir/eci.scm" -m "$theme_dir/texpack.scm"`
>
> I am creating an environment from several manifests. They are shown below, together with the channels file, for the sake of reproducibility and the mailing list. Also, for anyone's convenience, should they actually want to reproduce the problem,
>
> those files have been attached.
>
> Issuing `R CMD check somepackage` within the shell of the environment will die with the message outlined above.
>
> The package in the command line is just a skeleton created by `Rcpp.package.skeleton`.
>
> Thanks,
>
> T
>
> # Appendix
>
> ## channels.scm
>
> `(use-modules (guix packages) (guix inferior) (guix channels) (guix profiles) (gnu packages) (srfi srfi-1)) (define channels ;; This is custom Environmental Cheminformatics LCSB channel. (list (channel (name 'eci-addons) (url "https://git.sr.ht/~condor/eci-guix") (branch "master") (introduction (make-channel-introduction "e7ccb0c185133e23a9a75867e0deef5881ab2d49" (openpgp-fingerprint "EDC3 9790 A06D 5F72 41D9 70F9 BBEF E71B 7A28 3C6F")))) (channel (name 'nonguix) (url "https://gitlab.com/nonguix/nonguix") (introduction (make-channel-introduction "897c1a470da759236cc11798f4e0a5f7d4d59fbc" (openpgp-fingerprint "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") ;; (commit "c852d897551f514de95c224fa79e748f48808068") )))`
>
> ## foundation.scm
>
> ```
>
> (use-modules (guix packages)
>
> (gnu packages autotools)
>
> (gnu packages gcc)
>
> (gnu packages perl)
>
> (gnu packages mpi)
>
> (gnu packages ssh)
>
> (gnu packages gawk)
>
> (gnu packages base))
>
> (define specs '("bash"
>
> "make"
>
> "sbc"
>
> "openssh"
>
> "git:send-email"
>
> "git"
>
> "grep"
>
> "sed"
>
> "gawk"
>
> "procps"
>
> "coreutils-minimal"
>
> "glibc-locales"
>
> "make"
>
> "emacs"
>
> "lesspipe"
>
> "glibc-locales"
>
> "guile"
>
> "pkg-config"
>
> "nss-certs"
>
> "wget"
>
> "xz"
>
> "tar"
>
> "gzip"
>
> "bzip2"))
>
> (define misc-specs '("ispell"
>
> "sshpass"
>
> "the-silver-searcher"
>
> "xdg-utils"
>
> "xdg-user-dirs"
>
> "pango"
>
> "gnupg"
>
> "openssl"
>
> "gtk+"
>
> "man-db"
>
> "texinfo"))
>
> (define font-specs '("unicode-emoji"
>
> "fontconfig"
>
> "font-dejavu"
>
> "font-gnu-freefont"
>
> ;"font-ubuntu"
>
> "font-terminus"
>
> "font-liberation"
>
> "font-inconsolata"
>
> "font-gnu-unifont"
>
> "font-public-sans"
>
> "font-misc-misc"
>
> "font-awesome"
>
> "font-hack"
>
> "font-iosevka"
>
> "font-iosevka-term"
>
> "font-iosevka-term-slab"
>
> ;"font-iosevka-sparkle"
>
> "font-iosevka-slab"
>
> "font-iosevka-etoile"
>
> "font-iosevka-aile"
>
> "font-google-noto"))
>
> (define emacs-specs `("emacs-guix" "emacs-circe" "emacs-geiser" "emacs-paredit" "emacs-bbdb" "emacs-circe" "emacs-use-package" "emacs-ag" "emacs-magit" "emacs-org" "emacs-paredit" ;; "emacs-ess" "emacs-company" "emacs-ivy" "emacs-counsel" "emacs-zenburn-theme" "emacs-solarized-theme" "emacs-cyberpunk-theme" "emacs-atom-one-dark-theme" "emacs-polymode" "emacs-polymode-org" "emacs-polymode-ansible" "emacs-csv" "emacs-smartparens" ;"emacs-elpy" "emacs-wgrep" "emacs-emojify" "emacs-rust-mode" "emacs-flycheck-rust" "emacs-spacemacs-theme" "emacs-punpun-theme" "emacs-org-beautify-theme" "emacs-dream-theme" "emacs-base16-theme" "emacs-ample-theme" "emacs-doom-themes" "emacs-alect-themes" "emacs-almost-mono-themes" ;; "emacs-bluetooth" "emacs-csv" "emacs-csv-mode" "emacs-org-reveal")) (specifications->manifest` (,@specs
>
> ,@emacs-specs
>
> ,@misc-specs
>
> ,@font-specs))
>
> `## eci.scm`
>
> (use-modules (eci packages bioinformatics)
>
> (eci packages cran)
>
> (guix packages)
>
> (gnu packages chemistry)
>
> (gnu packages bioinformatics)
>
> (gnu packages bioconductor)
>
> (gnu packages statistics)
>
> (gnu packages web)
>
> (gnu packages image)
>
> (gnu packages cran)
>
> (gnu packages)
>
> (srfi srfi-1))
>
> (define misc-spec '("openbabel"
>
> "inchi"
>
> "gcc-toolchain"))
>
> (define r-spec `("r" "r-scales" "r-devtools" "r-openssl" "r-foreach" "r-markdown" "r-rmarkdown" "r-dofuture" "r-ff" "r-ffbase" "r-yaml" "r-batchtools" "r-future" "r-mzr" "r-bit64" "r-data-table" "r-msnbase" "r-assertthat" "r-withr" "r-ggplot2" "r-cowplot" "r-rcolorbrewer" "r-curl" "r-shiny" "r-handsontable" "r-dt" "r-tcltk2" "r-protgenerics" "r-massbank" "r-chemmass" "r-r-utils")) (specifications->manifest` (,@misc-spec
>
> ,@r-spec))
>
> `## texpack.scm`
>
> (use-modules (guix packages)
>
> (gnu packages tex))
>
> (define specs '("texlive-latex-base"
>
> "texlive-tiny"
>
> "texlive-latex-tools"
>
> "texlive-latex-graphics"
>
> "texlive-kpfonts"
>
> "texlive-url"
>
> "texlive-inconsolata"
>
> "texlive-latex-xkeyval"
>
> "texlive-fonts-latex"
>
> "texlive-fonts-ec"
>
> "texlive-fontspec"
>
> "texlive-fontname"
>
> "texlive-fontinst"
>
> "texlive-hyph-utf8"
>
> "texlive-hyphen-serbian"
>
> "texlive-cm"
>
> "texlive-txfonts"
>
> "texlive-metafont"
>
> "texlive-amsfonts"
>
> "texlive-latex-type1cm"
>
> "texlive-times"
>
> "texlive-helvetic"
>
> "texlive-psnfss"
>
> "texlive-psnfss-fixed"))
>
> (specifications->manifest `(,@specs))
>
> ```

On Wednesday, March 23rd, 2022 at 11:02 AM, TK <tkprom@protonmail.com> wrote:

Should I inherit from `texlive-updmap.cfg' and add the required TeX packages as inputs, instead of writing a manifest?




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Missing LaTeX font (R related)
  2022-03-29 10:02     ` TK
@ 2022-03-29 10:57       ` Ricardo Wurmus
  2022-03-30  6:55         ` TK
  0 siblings, 1 reply; 8+ messages in thread
From: Ricardo Wurmus @ 2022-03-29 10:57 UTC (permalink / raw)
  To: TK; +Cc: help-guix


TK <tkprom@protonmail.com> writes:

> After some more investigation, I think I narrowed down the
> issue. Package texlive-inconsolata indeed installs the `t1-zi4r-0'
> font. However, the `map' for that font exists only under dvips, not in
> the pdftex subdir.

We’re generating these map files based on the contents of the profile.
We’re using a profile hook for this.

> I am not a TeX magus, but it is indicative that the file on the
> official TeXLive repo
> https://tug.org/svn/texlive/trunk/Master/texmf-dist/fonts/map/pdftex/updmap/pdftex.map
> does contain `zi4' entries.

We don’t use that file because it contains *everything*; instead we
generate it in a profile hook so that it only contains entries that
correspond to what has actually been installed.

> Shouldn't the installation of texlive-inconsolata put the
> corresponding entries into `pdftex.map'?

Yes, it should.

> Any hints on where to go from here?

When I do

   guix shell -C texlive-base texlive-inconsolata

I see that
$GUIX_ENVIRONMENT/share/texmf-dist/fonts/map/pdftex/updmap/pdftex.map
contains entries for the inconsolata fonts.

(The profile hook depends on texlive-base.)

-- 
Ricardo


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Missing LaTeX font (R related)
  2022-03-29 10:57       ` Ricardo Wurmus
@ 2022-03-30  6:55         ` TK
  2022-03-30  7:08           ` TK
  0 siblings, 1 reply; 8+ messages in thread
From: TK @ 2022-03-30  6:55 UTC (permalink / raw)
  Cc: help-guix

> TK tkprom@protonmail.com writes:
>
> > After some more investigation, I think I narrowed down the
> >
> > issue. Package texlive-inconsolata indeed installs the `t1-zi4r-0' font. However, the` map' for that font exists only under dvips, not in
> >
> > the pdftex subdir.
>
> We’re generating these map files based on the contents of the profile.
>
> We’re using a profile hook for this.
>
> > I am not a TeX magus, but it is indicative that the file on the
> >
> > official TeXLive repo
> >
> > https://tug.org/svn/texlive/trunk/Master/texmf-dist/fonts/map/pdftex/updmap/pdftex.map
> >
> > does contain `zi4' entries.
>
> We don’t use that file because it contains everything; instead we
>
> generate it in a profile hook so that it only contains entries that
>
> correspond to what has actually been installed.
>
> > Shouldn't the installation of texlive-inconsolata put the
> >
> > corresponding entries into `pdftex.map'?
>
> Yes, it should.
>
> > Any hints on where to go from here?
>
> When I do
>
> guix shell -C texlive-base texlive-inconsolata
>
> I see that
>
> $GUIX_ENVIRONMENT/share/texmf-dist/fonts/map/pdftex/updmap/pdftex.map
>
> contains entries for the inconsolata fonts.
>
> (The profile hook depends on texlive-base.)
>
> --
>
> Ricardo


Hi Ricardo,

Thanks for narrowing it down.

It turns out that replacing `texlive-tiny' with `texlive-base' in the manifest did the trick. So, the message for future readers is, if you want your own subset of TexLive, start with `texlive-base' in your manifest, then add whichever other packages, or fonts you need.


Cheers,

T






^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Missing LaTeX font (R related)
  2022-03-30  6:55         ` TK
@ 2022-03-30  7:08           ` TK
  0 siblings, 0 replies; 8+ messages in thread
From: TK @ 2022-03-30  7:08 UTC (permalink / raw)
  To: TK; +Cc: help-guix

> > TK tkprom@protonmail.com writes:
>
> > > After some more investigation, I think I narrowed down the
> > >
> > > issue. Package texlive-inconsolata indeed installs the `t1-zi4r-0' font. However, the` map' for that font exists only under dvips, not in
> > >
> > > the pdftex subdir.
> >
> > We’re generating these map files based on the contents of the profile.
> >
> > We’re using a profile hook for this.
> >
> > > I am not a TeX magus, but it is indicative that the file on the
> > >
> > > official TeXLive repo
> > >
> > > https://tug.org/svn/texlive/trunk/Master/texmf-dist/fonts/map/pdftex/updmap/pdftex.map
> > >
> > > does contain `zi4' entries.
> >
> > We don’t use that file because it contains everything; instead we
> >
> > generate it in a profile hook so that it only contains entries that
> >
> > correspond to what has actually been installed.
> >
> > > Shouldn't the installation of texlive-inconsolata put the
> > >
> > > corresponding entries into `pdftex.map'?
> >
> > Yes, it should.
> >
> > > Any hints on where to go from here?
> >
> > When I do
> >
> > guix shell -C texlive-base texlive-inconsolata
> >
> > I see that
> >
> > $GUIX_ENVIRONMENT/share/texmf-dist/fonts/map/pdftex/updmap/pdftex.map
> >
> > contains entries for the inconsolata fonts.
> >
> > (The profile hook depends on texlive-base.)
> >
> > --
> >
> > Ricardo
>
> Hi Ricardo,
>
> Thanks for narrowing it down.
>
> It turns out that replacing `texlive-tiny' with` texlive-base' in the manifest did the trick. So, the message for future readers is, if you want your own subset of TexLive, start with `texlive-base' in your manifest, then add whichever other packages, or fonts you need.
>
> Cheers,
>
> T

For the reference, the smallest TexLive manifest I came up with that passed `R CMD check` for the R package I am developing has been:

```
(use-modules (guix packages)
	     (gnu packages tex))

(define specs '("texlive-base"
                "texlive-pdftex"
		"texlive-url"
                "texlive-inconsolata"
                "texlive-latex-xkeyval"
                "texlive-fonts-ec"
                "texlive-times"
                "texlive-helvetic"
		"texlive-amsfonts"))



(specifications->manifest `(,@specs))
```

I probably don't need texlive-pdftex there, but can't check now.


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-03-30  7:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-23  8:45 Missing LaTeX font (R related) TK
2022-03-23  8:58 ` Ricardo Wurmus
2022-03-23 10:02   ` TK
2022-03-29 10:02     ` TK
2022-03-29 10:57       ` Ricardo Wurmus
2022-03-30  6:55         ` TK
2022-03-30  7:08           ` TK
2022-03-29 10:22     ` Todor Kondić

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).