Instalei o MacTeX 2020 e não consigo fazer o ConTeXt funcionar (funciona em outra máquina onde atualizei do MacTeX 2019). O erro é:
$ context file.tex
mtx-context | warning: no format found, forcing remake (commandline driven)
[…] snip lots of lines
resolvers | formats | changing to format path '/var/folders/rj/hfjmjx796q102y4v23vh038c0000gp/T/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/formats/luatex'
resolvers | formats | unable to change to format path '/var/folders/rj/hfjmjx796q102y4v23vh038c0000gp/T/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/formats/luatex'
mtx-context | error, no format found with name: cont-en, aborting
system | total runtime: 5.315 seconds
Eu leioCorrendo Mark IVdo wiki e tentei executar
context --make
context --make cont-en
mas eles desistiram com a mesma unable to change to format path
mensagem. Presumo que esse seja o problema central. Depois de executar esses comandos, ainda recebo o mesmo erro ao tentar criar meu PDF.
Como posso consertar isso?
Responder1
Consegui a solução para este problema na lista de discussão ConTeXt (link para tópico), vou citar a partir daí:
Essas mensagens vêm do meio do arquivo luat-fmt.lua (linhas 180 e 183, respectivamente, no meu sistema) quando o ConTeXt tenta mudar o diretório de trabalho (é isso que “mudar” significa neste contexto, apenas mudando para outro diretório , como em cd ou chdir). O extrato relevante é
report_format("changing to format path %a",validformatpath) lfs.chdir(validformatpath) if dir.current() ~= validformatpath then return fatalerror(startupdir,"unable to change to format path %a",validformatpath) end
No seu casocaminho de formato válidoé um subdiretório de
$TMPDIR
, em/var/folders/
. No entanto, se o seu Mac for parecido com o meu,/var
é na verdade um link simbólico para/private/var
, de modo quedir.current()
informa um caminho começando com/private
e o teste falha.Você pode contornar isso definindo
TMPDIR
algum outro valor, que não comece com/var
- e/tmp
também não, porque também é um link simbólico :-) Ele deve funcionar com um diretório temporário em sua pasta pessoal.
Então o que estou fazendo é:
env TMPDIR=~/tmp context <file>
Você pode configurar isso como um alias no seu shell, por exemplo, eu tenho isso para peixes:
function context
env TMPDIR=~/tmp /Library/TeX/texbin/context $argv
end