#python #latex
Вопрос:
У меня есть код LaTeX, в котором есть несколько глав, которые я компилирую по отдельности. Иногда мне приходится компилировать много этих файлов, и я пытаюсь автоматизировать этот процесс, вместо того чтобы снова раскомментировать, компилировать и комментировать строки глав. Мне также нужно переименовать и поместить в другую папку главу, которую я скомпилировал.
Мне удалось написать код для одной главы:
import os
texdoc = []
with open('aluno.tex') as fin:
for line in fin:
texdoc.append(line.replace('% \include{chapters/funcoes}', '\include{chapters/funcoes}'))
# write back the new document
with open('aluno.tex', 'w') as fout:
for i in range(len(texdoc)):
fout.write(texdoc[i])
os.system("latexmk -pdfxe -c aluno.tex")
with open('aluno.tex', errors="ignore") as fin:
for line in fin:
texdoc.append(line.replace('\include{chapters/funcoes}', '% \include{chapters/funcoes}'))
# write back the new document
with open('aluno.tex', 'w', errors="ignore") as fout:
for i in range(len(texdoc)):
fout.write(texdoc[i])
os.rename('aluno.pdf','Introdução às Funções.pdf')
shutil.copy('Introdução às Funções.pdf', 'subfolder', follow_symlinks=True)
os.remove('Introdução às Funções.pdf')
Сейчас я пытаюсь автоматизировать этот процесс с помощью списка глав, которые я хочу составить. Что-то вроде
chapter = ["funcoes","taxa"]
name = ["Introdução às Funções", "Taxa de Variação"]
for j in chapter and k in name
with open('aluno.tex') as fin:
for line in fin:
texdoc.append(line.replace('% \include{chapters/j}', '\include{chapters/j}'))
os.rename('aluno.pdf','k.pdf')
Как я могу добиться этого с помощью python?
Комментарии:
1. Вы рассмотрели
subfiles
пакет, а затем просто повторяете имена файлов, ничего не меняя?2. Спасибо за ответ, но я думаю, что это не решит мою проблему. Я могу работать и компилировать архивы просто отлично, но иногда я делаю небольшие изменения и мне приходится обновлять все главы в двух разных основных файлах файлов, которые разделяют эти же главы.