Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import re
- def generate_latex():
- photos_dir = 'photos'
- if not os.path.exists(photos_dir):
- print(f"Директория '{photos_dir}' не найдена.")
- return
- image_files = []
- valid_extensions = ('.jpg', '.jpeg', '.png')
- for filename in os.listdir(photos_dir):
- if filename.lower().endswith(valid_extensions):
- image_files.append(filename)
- pattern = re.compile(r'^(\d+)\((\d+)\)')
- parsed_files = []
- for filename in image_files:
- name_without_ext = os.path.splitext(filename)[0]
- match = pattern.match(name_without_ext)
- if match:
- try:
- group = int(match.group(1))
- num = int(match.group(2))
- parsed_files.append((group, num, filename))
- except ValueError:
- print(f"Ошибка в формате номера для файла {filename}")
- else:
- print(f"Файл '{filename}' не соответствует шаблону. Пропускаем.")
- parsed_files.sort(key=lambda x: (x[0], x[1]))
- sorted_files = [file[2] for file in parsed_files]
- latex_content = """\\documentclass{article}
- \\usepackage{graphicx}
- \\usepackage{tabularx}
- \\usepackage[legalpaper, margin=2cm]{geometry}
- \\usepackage[T2A]{fontenc}
- \\usepackage[utf8]{inputenc}
- \\usepackage[russian]{babel}
- \\begin{document}
- \\raggedright
- """
- for filename in sorted_files:
- name = os.path.splitext(filename)[0]
- latex_content += f"""
- Фото {name}\\\\
- \\includegraphics[width=0.9\\textwidth, height=0.6\\textheight, keepaspectratio]{{photos/{filename}}}
- \\vspace{{0.5cm}}
- \\begin{{tabularx}}{{\\textwidth}}{{|X|}}
- \\hline
- \\\\ \\hline
- \\\\ \\hline
- \\\\ \\hline
- \\\\ \\hline
- \\end{{tabularx}}
- \\vspace{{1cm}}
- """
- latex_content += "\\end{document}"
- with open('output.tex', 'w', encoding='utf-8') as f:
- f.write(latex_content)
- print("LaTeX файл 'output.tex' успешно создан. Скомпилируйте его с помощью pdflatex.")
- if __name__ == "__main__":
- generate_latex()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement