
Acabei de instalar o MacTex e estou executando este programa simples:
\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}
Quando executo este comando: xelatex simple.tex
recebo:
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}
Abri meu utilitário TexLive para ver se o dejavu
pacote está instalado e está.
O que está acontecendo aqui?
Responder1
No Mac OS xetex + fontspec
não encontrará fontes OpenType na árvore TeXLive se você usar nomes de fontes:
use nomes de arquivos,
ou (o mais simples e recomendado por alguns) copie as fontes necessárias para um local reconhecido pelo MacOS, assim
~/Library/Fonts
ou adicione um link simbólico dentro
~/Library/Fonts
, foi isso que fiz de uma vez por todas, adicionei dois links simbólicos com alvos respectivamente/Library/TeX/Root/texmf-dist/fonts/opentype
e/Library/TeX/Root/texmf-dist/fonts/truetype
. Isso pressupõe que uma estrutura semelhante a "textdist" esteja presente. Eu entendo que agora é implementado via TeXLiveUtility no MacTeX, mas como o MacTeX decidiu que o TL2017 descartasse MacOSes como o Mavericks, não sou mais usuário do MacTeX, portanto, não tenho 100% de certeza de que esses locais (eles próprios links simbólicos) existam sob os nomes acima. Esta configuração precisanãoatualização anual. Ele também não cria problemas com o LuaLaTeX, já que este último (vialuaotfload
) é (já há algum tempo, não era mais antigo) capaz de cortar seu banco de dados de fontes de duplicatas originadas na localização das mesmas fontes diretamente no TeXLive tree e indiretamente através dos dois links simbólicos adicionados pelo usuário acima para a localização oficial do MacOS, visando repertórios de árvores TeXLive.
Responder2
kpathsea:make_tex: Nome de fonte inválido `DejaVu Sans', contém ' '
Diz que o nome da sua fonte tem espaço
Para o Ubuntu, se o dejavu realmente estiver faltando, instale-o usando:
sudo apt install fonts-dejavu*
Ou instale todas as fontes texlive
sudo apt install texlive-fonts-recommended
sudo apt install texlive-fonts-extra
Também encontrei a fonte dejavu aquihttps://ctan.org/pkg/dejavu. Consegui baixar o arquivo zip contendo os arquivos necessários, mas não o instalei porque texlive-fonts-extra
corrigi o problema ausente de 'DejaVuSans.sty' em meu computador. Mas se você quiser instalá-lo, dê uma olhada neste blog:https://nathanvan.wordpress.com/2012/06/14/managing-latex-packages-manually-in-ubuntu-12-04/
Responder3
O seguinte funcionou para mim no macOS.
Baixando o dejavu
pacote como um arquivo ZIP na página do pacote:https://ctan.org/tex-archive/fonts/dejavufoi a maneira mais fácil de corrigir isso.
No arquivo ZIP, existe uma dejavu
pasta que contém *.ttf
os arquivos. Abri o /Applications/Font Book.app
aplicativo, cliquei +
e apontei para a dejavu/truetype
pasta.
Aqui está minha configuração do Sphinx para Latex no conf.py
arquivo:
...
'fontpkg': r'''
\setmainfont{DejaVu Sans}
\setsansfont{DejaVu Sans}
\setmonofont{DejaVu Sans Mono}
''',
Para fazer funcionar no Linux Ubuntu 20 usei o apt install
comando recomendado por Sawan Vaidya.