Problema e contexto
Eu tenho um script de shell que baixa arquivos markdown de um wiki do Gitlab, faz alguma filtragem pandoc e depois os converte em um PDF.
A conversão para PDF acontece compandoc, que usa LaTeX em segundo plano. Por alguma razão, quando especifico latexmk
no--pdf-engine
opção o script falha.
Comando e erro
Se eu executar pandoc mwe.tex --pdf-engine=latexmk -o ./mwe.pdf
o processo falhará e pdflatex.log
mostrará:
INFO pdflatex - this process (2200) started by 'sh' with command line: "C:\Program Files\MiKTeX 2.9\miktex\bin\x64\pdflatex.exe" -interaction=batchmode -halt-on-error -interaction=batchmode -recorder -output-directory=C://Users/username/AppData/Local/Temp/tex2pdf.-f71f6aebf5dc3db8 C://Users/username/AppData/Local/Temp/tex2pdf.-f71f6aebf5dc3db8/input.tex
INFO pdflatex - allowing known shell commands
INFO pdflatex - enabling input (output) from (to) processes
INFO pdflatex - setting output directory: C:/Users\username\AppData\Local\Temp\tex2pdf.-f71f6aebf5dc3db8
INFO pdflatex - setting aux directory: C:/Users\username\AppData\Local\Temp\tex2pdf.-f71f6aebf5dc3db8
ERROR pdflatex.core - Access is denied.
ERROR pdflatex.core - Function: FindFirstFileExW
ERROR pdflatex.core - Result: 5
ERROR pdflatex.core - Data: directory="C:\$Recycle.Bin\S-1-5-18"
ERROR pdflatex.core - Source: Libraries\MiKTeX\Core\DirectoryLister\win\winDirectoryLister.cpp:135
FATAL pdflatex - Windows API error 5: Access is denied.
FATAL pdflatex - Info: directory="C:\$Recycle.Bin\S-1-5-18"
FATAL pdflatex - Source: Libraries\MiKTeX\Core\DirectoryLister\win\winDirectoryLister.cpp
FATAL pdflatex - Line: 135
INFO pdflatex - this process (2200) finishes with exit code 1
WARN miktex.core - still open: C://Users/username/AppData/Local/Temp/tex2pdf.-f71f6aebf5dc3db8/input.tex
WARN miktex.core - still open: C:/Users\username\AppData\Local\Temp\tex2pdf.-f71f6aebf5dc3db8\input.log
O que eu tentei
A execução latexmk -pdf mwe.tex
funciona conforme o esperado.
A execução pandoc mwe.tex --pdf-engine=xelatex -o ./mwe.pdf
funciona conforme o esperado.
Esta pergunta anteriormenciona que as permissões devem ser definidas corretamente. Eu verifiquei e meu usuário tem Full Control
permissões c:\Program Files\MiKTeX 2.9\
e c:\Users\username\AppData\Local\Temp\
pastas.
No entanto, o erro indica que a pasta C:\$Recycle.Bin\S-1-5-18
está causando problemas, que só tem permissões para o usuário SYSTEM. Isso levanta a questão: por que o pdflatex deseja acessar a lixeira do SYSTEM em vez da lixeira dos meus usuários?
MWE
Meu MWE é encontrado abaixo:
\documentclass[]{article}
\title{Title}
\author{Author}
\date{Month 00, 1984}
\begin{document}
\maketitle
Some content
\end{document}