Разобрался с собственной проблемой. Ошибка довольно интересная. Вы увидите, я звоню
puts `pdflatex app/assets/tex/Questions.tex --output-directory=app/assets/tex`
внутри блока
File.open(texOut, 'a+') do |fout|
, где всего несколько строк до
texOut = 'app\assets\tex\Questions.tex'
По сути, я пытаюсь получить латекс для компиляции документа , пока файл еще открыт . Пока я нахожусь в блоке File.open, файл открыт, и его автоматически закрывается в конце блока.
Вырезание и вставка строки кода ниже конца блока заставили его работать так, как я хотел. Однако, для ясности и в редком случае, когда у кого-то еще есть эта проблема, на самом деле лучше открыть отдельную системную оболочку, перейти в каталог, где находится латексный документ, и выполнить его компиляцию. Итак, мой обновленный код выглядит так:
fout.write("\\end{document}")
end
system 'runlatex.bat'
где этот пакетный файл выглядит следующим образом:
cd app/assets/tex
pdflatex Questions.tex
Таким образом, будут найдены любые дополнительные файлы в каталоге tex, там будет создан файл журнала и т. Д.
Причина, по которой я так и не получил файл журнала? Pdflatex никогда не выполнялся - ОС остановила его с ошибкой прав доступа до того, как он запустился.
Надеюсь, это поможет!