Fehlende Dejavu-Schriftart

Fehlende Dejavu-Schriftart

Ich habe gerade MacTex installiert und führe dieses einfache Programm aus:

\documentclass[12pt]{article}

\usepackage{fontspec}
\usepackage{dejavu}

\begin{document}

\setsansfont{DejaVu Sans}
\setromanfont{DejaVu Serif}
\setmonofont{DejaVu Sans Mono}

\begin{abstract}
This is the paper's abstract \ldots
\end{abstract}

\section{Introduction}
This is time for all good men to come to the aid of their party!

\end{document}

Wenn ich diesen Befehl ausführe, xelatex simple.texerhalte ich:

This is XeTeX, Version 3.14159265-2.6-0.99996 (TeX Live 2016) (preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
(./simple.tex
LaTeX2e <2016/03/31>
Babel <3.9r> and hyphenation patterns for 83 language(s) loaded.
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/size12.clo))
(/usr/local/texlive/2016/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def))
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/fontenc.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/euenc/eu1enc.def)
(/usr/local/texlive/2016/texmf-dist/tex/latex/euenc/eu1lmr.fd))
(/usr/local/texlive/2016/texmf-dist/tex/xelatex/xunicode/xunicode.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/tipa/t3enc.def
(/usr/local/texlive/2016/texmf-dist/tex/latex/euenc/eu1lmss.fd))
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/local/texlive/2016/texmf-dist/tex/xelatex/xetex-def/xetex.def
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ltxcmds.sty)))))
(/usr/local/texlive/2016/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
(/usr/local/texlive/2016/texmf-dist/tex/latex/dejavu/dejavu.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/dejavu/DejaVuSansMono.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/dejavu/DejaVuSans.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/dejavu/DejaVuSerif.sty))
(./simple.aux) (/usr/local/texlive/2016/texmf-dist/tex/latex/tipa/t3cmr.fd)

LaTeX Font Warning: Font shape `EU1/DejaVuSerif-TLF/m/n' undefined
(Font)              using `EU1/lmr/m/n' instead on input line 6.

kpathsea:make_tex: Invalid fontname `DejaVu Sans', contains ' '

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: "font-not-found"
! 
! The font "DejaVu Sans" cannot be found.
! 
! See the fontspec documentation for further information.
! 
! For immediate help type H <return>.
!...............................................  

l.8 \setsansfont{DejaVu Sans}

Ich habe mein TexLive-Dienstprogramm geöffnet, um zu sehen, ob das dejavuPaket installiert ist, und das ist es.

Was geht hier vor sich?

Antwort1

Unter Mac OS xetex + fontspecwerden OpenType-Schriftarten im TeXLive-Baum nicht gefunden, wenn Sie Schriftnamen verwenden:

  • entweder Dateinamen verwenden,

  • oder (am einfachsten und von manchen empfohlen) kopieren Sie die benötigten Schriftarten an einen von MacOS erkannten Ort, so~/Library/Fonts

  • oder füge einen Symlink innerhalb hinzu ~/Library/Fonts, das habe ich ein für alle Mal gemacht, ich füge zwei Symlinks mit Zielen bzw. /Library/TeX/Root/texmf-dist/fonts/opentypeund hinzu /Library/TeX/Root/texmf-dist/fonts/truetype. Dies setzt voraus, dass eine „texdist“-ähnliche Struktur vorhanden ist. Ich verstehe, dass es jetzt über TeXLiveUtility in MacTeX implementiert ist, aber da MacTeX für TL2017 beschlossen hat, MacOSes wie Mavericks fallen zu lassen, bin ich kein MacTeX-Benutzer mehr und bin mir daher nicht 100 % sicher, ob diese Orte (selbst Symlinks) unter den oben genannten Namen existieren. Dieses Setup benötigtNEINjährliches Update. Es verursacht auch keine Probleme mit LuaLaTeX, da letzteres (über luaotfload) (seit einiger Zeit, war es allerdings nicht früher in der Vergangenheit) in der Lage ist, seine Datenbank mit Schriftarten von Duplikaten zu befreien, die beim Auffinden derselben Schriftarten sowohl direkt im TeXLive-Baum als auch indirekt über die beiden oben vom Benutzer hinzugefügten symbolischen Links zum offiziellen MacOS-Speicherort entstehen und auf TeXLive-Baumrepertorien abzielen.

Antwort2

kpathsea:make_tex: Ungültiger Schriftname „DejaVu Sans“, enthält „ “

Es heißt, dass Ihr Schriftname Leerzeichen enthält

Falls Dejavu unter Ubuntu tatsächlich fehlt, installieren Sie es wie folgt:

sudo apt install fonts-dejavu*

Oder installieren Sie alle Texlive-Schriftarten

sudo apt install texlive-fonts-recommended
sudo apt install texlive-fonts-extra

Ich habe hier auch die Schriftart Dejavu gefunden.https://ctan.org/pkg/dejavu. Ich konnte die Zip-Datei mit den erforderlichen Dateien herunterladen, habe sie aber nicht installiert, da texlive-fonts-extradas Problem mit dem Fehlen von „DejaVuSans.sty“ auf meinem Computer behoben wurde. Wenn Sie es jedoch installieren möchten, lesen Sie diesen Blog:https://nathanvan.wordpress.com/2012/06/14/managing-latex-packages-manually-in-ubuntu-12-04/

Antwort3

Das Folgende hat bei mir unter macOS gerade funktioniert.

Herunterladen des dejavuPakets als ZIP-Datei von der Paketseite:https://ctan.org/tex-archive/fonts/dejavuwar der einfachste Weg, dies zu beheben.

In der ZIP-Datei befindet sich ein dejavuOrdner, der *.ttfDateien enthält. Ich habe die /Applications/Font Book.appAnwendung geöffnet, darauf geklickt und auf den Ordner +verwiesen .dejavu/truetype

Hier ist meine Sphinx-Konfiguration für Latex in der conf.pyDatei:

...
'fontpkg': r'''
    \setmainfont{DejaVu Sans}
    \setsansfont{DejaVu Sans}
    \setmonofont{DejaVu Sans Mono}
''',

Damit es unter Linux Ubuntu 20 funktioniert, habe ich den apt installvon Sawan Vaidya empfohlenen Befehl verwendet.

verwandte Informationen