Задать вопрос
@Artyom_Kopan

Генерация LaTeX-файлов на Python дико тормозит, как это можно исправить?

У меня есть скрипт на Python 3.10 для автоматической генерации теховских библиографий в PDF из исходных BIB и BST-файлов. Их довольно много (суммарный размер BIB 85+ МБ, и ещё почти 100 BST). Я перебираю циклом все BIB, затем внутри ещё одним циклом - все BST и для каждого генерирую теховский файл и затем из него PDF с помощью такого башевского скрипта:
#!/bin/bash
filename=$1".tex"
latex $filename
bibtex $1
latex $filename 
latex $filename 
pdflatex $filename

а потом перемещаю PDF куда надо, а лишние файлы (оставшиеся после генерации) удаляю.
Для запуска генерации также предусмотрен таймаут в 3 секунды, т.к. иногда ТeХ не может сгенерировать файл нормально и виснет.
И при запуске эта программа некоторое время работает нормально, а после генерации 80-100 файлов компьютер зависает намертво
Как это можно пофиксить?
(Я пробовал распараллелить код с помощью потоков, но как-то не особо получилось)
  • Вопрос задан
  • 198 просмотров
Подписаться 1 Средний 13 комментариев
Пригласить эксперта
Ответы на вопрос 1
@AVKor
Генерация Latex-файлов на Python дико тормозит, как это можно исправить?

Тег Linux убрали разумно, тег Bash поставили тоже разумно, а зачем убрали тег Python, если проблема в нём?
Их довольно много (суммарный размер BIB 85+ МБ, и ещё почти 100 BST).

Что вы такое делаете с таким количеством стилевых файлов BibTeX?
для каждого генерирую теховский файл и затем из него PDF с помощью такого башевского скрипта:

Тут сразу ряд замечаний:
  1. Имена переменных заключайте в двойные кавычки.
  2. Если вам надо только PDF (DVI не нужно), то используйте сразу pdfLaTeX.
  3. Лучше использовать latexmk.
  4. При этом можно будет обработать все TeX-файлы скопом, а не по одному, как в вашем скрипте.

Было бы понятнее, в чём может быть проблема, если бы вы привели код вашего скрипта на Python. А также пример сгенерированного им TeX-файла.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы