Estou tentando armazenar todas as minhas personalizações e fontes em uma pasta de ativos para poder usá-las em vários documentos e manter os mesmos estilos. Infelizmente, sempre que tento colocar as fontes em um caminho com dois níveis de profundidade, não consigo compilar o documento. Eu recebo o erro:
! error: (type 2): cannot find file ''
! ==> Fatal error occurred, no output PDF file produced!
Abaixo funciona:
\newcommand{\fontmercury}{\setmainfont[Path = ./fonts/,
BoldFont=mercurybd.ttf,
ItalicFont=mercuryi.ttf,
BoldItalicFont=mercurybi.ttf
]{mercury.ttf}
}
Isso não funciona:
\newcommand{\fontmercury}{\setmainfont[Path = ./assets/fonts/,
BoldFont=mercurybd.ttf,
ItalicFont=mercuryi.ttf,
BoldItalicFont=mercurybi.ttf
]{mercury.ttf}
}
O caminho está correto, só gera um erro sempre que vou mais de um nível de profundidade.
EDITAR: Eu descobri. Foi o problema de cache discutido aqui. Excluir a pasta otl no meu caso permitiu a compilação.LuaTeX não consegue encontrar a fonte existente
Responder1
Além de excluir o diretório desatualizado otl
, você também deve considerar usar uma configuração diferente para \fontmercury
. O fontspec
pacote fornece a \newfontfamily
diretiva. Para o caso em questão, a utilização \newfontfamily
pareceria mais eficiente do que a emissão de uma \setmainfont
directiva. Você pode inserir as seguintes instruções no preâmbulo:
\newfontfamily{\mercury}{mercury.ttf}%
[Path = ./fonts/,
BoldFont = mercurybd.ttf,
ItalicFont = mercuryi.ttf,
BoldItalicFont = mercurybi.ttf]
\newcommand{\fontmercury}[1]{{\mercury #1}}
Então, no corpo do documento, você escreveria
\fontmercury{...}
Responder2
Acho que postaria isso como resposta, pois não tenho certeza de como marcar isso como respondido. Mas descobri logo após postar. Eu uso TeXLive + TeXWorks. Então eu apaguei a pasta otl no caminho C:\texlive\2017\texmf-var\luatex-cache\generic\fonts\otl
. Funcionou na hora de construir o documento depois.
Mais detalhes:LuaTeX não consegue encontrar a fonte existente