Я пытаюсь использовать Manim (библиотека Python Youtuber 3Blue1Brown) для анимации. Я установил необходимое программное обеспечение, включая новейшие версии MikTex и python. Я могу запустить анимацию SquareToCircle, но всякий раз, когда я пытаюсь запустить любую анимацию, включающую текст, я получаю следующую ошибку:
Exception: Latex error converting to dvi. See log output above or the log file: C:\Animation Programs\Manim\manimdef tex_to_dvi(tex_file):
result = tex_file.replace(".tex", ".dvi")
if not os.path.exists(result):
commands = [
"latex",
"-interaction=batchmode",
"-halt-on-error",
"-output-directory=" + TEX_DIR,
tex_file,
]
exit_code = os.system(" ".join(commands))
if exit_code != 0:
latex_output = ''
log_file = tex_file.replace(".tex", ".log")
if os.path.exists(log_file):
with open(log_file, 'r') as f:
latex_output = f.read()
if latex_output:
sys.stderr.write(latex_output)
raise Exception(
"Latex error converting to dvi. "
"See log output above or the log file: %s" % log_file)
return result
feb\manimlib\files\Tex\47f78a457bde38f5.log
Такого файла .log нет, однако в той же папке есть файл .tex с таким же именем. Файл .tex читает (открытие в Блокноте)
\documentclass[preview]{standalone}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{dsfont}
\usepackage{setspace}
\usepackage{tipa}
\usepackage{relsize}
\usepackage{textcomp}
\usepackage{mathrsfs}
\usepackage{calligra}
\usepackage{wasysym}
\usepackage{ragged2e}
\usepackage{physics}
\usepackage{xcolor}
\usepackage{textcomp}
\usepackage{microtype}
\DisableLigatures{encoding = *, family = * }
%\usepackage[UTF8]{ctex}
\linespread{1}
\begin{document}
\centering This is some \LaTeX
\end{document}
Для некоторых проблема казалась решенной в следующем сообщении, в котором сообщается, что Я «меняю command = [...] в mobject / tex_mobject.py», но нигде в файле tex_mobject.py нет строки «command».
Я скопировал следующие функции (которые, по-видимому, уже должны были существовать в файле, но не существовали) и вставил их в tex_mobject.py
def tex_to_dvi(tex_file):
result = tex_file.replace(".tex", ".dvi")
if not os.path.exists(result):
commands = [
"latex",
"-interaction=batchmode",
"-halt-on-error",
"-output-directory=" + TEX_DIR,
tex_file,
]
exit_code = os.system(" ".join(commands))
if exit_code != 0:
latex_output = ''
log_file = tex_file.replace(".tex", ".log")
if os.path.exists(log_file):
with open(log_file, 'r') as f:
latex_output = f.read()
if latex_output:
sys.stderr.write(latex_output)
raise Exception(
"Latex error converting to dvi. "
"See log output above or the log file: %s" % log_file)
return result
.
def dvi_to_svg(dvi_file, regen_if_exists = False):
"""
Converts a dvi, which potentially has multiple slides, into a
directory full of enumerated pngs corresponding with these slides.
Returns a list of PIL Image objects for these images sorted as they
where in the dvi
"""
result = dvi_file.replace(".dvi", ".svg")
if not os.path.exists(result):
commands = [
"dvisvgm",
dvi_file,
"-n",
"-v",
"0",
"-o",
result,
]
os.system(" ".join(commands))
return result
Тем не менее, я все еще получаю ту же ошибку.
В том же посте другие советуют взглянуть на указанный файл .log, так как он даст мне знать, если какие-либо пакеты отсутствуют. Как я уже сказал, у меня нет такого файла .log, а в соответствующем файле .tex, похоже, нет упоминания о каких-либо недостающих пакетах.
Буду очень признателен за любую помощь!