Проблема и контекст
У меня есть скрипт оболочки, который загружает файлы Markdown из вики Gitlab, выполняет некоторую фильтрацию pandoc, а затем конвертирует их в PDF.
Преобразование в PDF происходит с помощьюпандок, который использует LaTeX в фоновом режиме. По какой-то причине, когда я указываю latexmk
в--pdf-engine
вариант скрипта не работает.
Команда и ошибка
Если я запускаю, pandoc mwe.tex --pdf-engine=latexmk -o ./mwe.pdf
процесс завершается ошибкой и pdflatex.log
отображается:
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
Что я пробовал
Запуск latexmk -pdf mwe.tex
работает как и ожидалось.
Запуск pandoc mwe.tex --pdf-engine=xelatex -o ./mwe.pdf
работает как и ожидалось.
Предыдущий вопросупоминает, что разрешения должны быть установлены правильно. Я проверил, и у моего пользователя есть Full Control
разрешения на c:\Program Files\MiKTeX 2.9\
и c:\Users\username\AppData\Local\Temp\
папки.
Однако ошибка говорит о том, что C:\$Recycle.Bin\S-1-5-18
проблема в папке, которая имеет разрешения только для пользователя SYSTEM. Это поднимает вопрос: почему pdflatex хочет получить доступ к корзине SYSTEM, а не к корзине моего пользователя?
МВЭ
Мой MWE можно найти ниже:
\documentclass[]{article}
\title{Title}
\author{Author}
\date{Month 00, 1984}
\begin{document}
\maketitle
Some content
\end{document}