Автоматизация перевода задач из LaTex в PNG по меткам

1 500 руб.за час
29 июля 2024, 17:48 • 2 отклика • 22 просмотра
Имеется набор LaTex файлов с прикрепленными к ним изображениями (includegrafics).
В файлах имеются задачи, разграниченные метками (всего 74х3=222 типа меток).
Файл с перечислением меток приложен: "Список кодификаторов.pdf"
Для некоторых задач имеются не меньше двух разных по типу меток.
На каждую задачу приходится по три метки одного типа. Первая метка - начало задачи, вторая - начало решения (конец условия), третья - конец решения.
Пример файла LaTex с архивом изображений, с которым придётся вести работу, не прикладывается в силу ограничений платформы. Имеется пример разметки двух задач в файле: "Пример разметки tex.pdf"


Необходимо создать скрипт, который делает по данным меткам следующее:

1) Для каждой первой из трёх меток одного типа на задачу: оставляет метку, текст после неё переносит на новую строку Для каждого типа меток данное преобразование произвести до второго этапа. Отметить самую верхнюю из имеющихся первых меток
Пример: имеются три строки
%mkzd4 \begin{quote} \noindent{\textbf{Комбинированные задачи на динамику}} \end{quote}
%msie4 \begin{quote} \noindent{\textbf{Закон сохранения энергии. Закон изменения энергии}} \end{quote}
%msusp4 \begin{quote} \noindent{\textbf{Сила упругости. Системы пружин}} \end{quote}
Каждая из них является первой строкой с меткой данного типа в одной задаче. Скрипт переносит на следующую строку текст после метки (перед слэшем). Далее он находит самую верхнюю из меток и дальнейшие действия (пункты 2) и 3) ) должны включать ВЕСЬ появившийся новый текст в данной задаче в условие для КАЖДОЙ первой метки. Если можно упростить работу с этой частью - замечательно.
Желаемый итог:
%mkzd4
%msie4
%msusp4
\begin{quote} \noindent{\textbf{Комбинированные задачи на динамику}} \end{quote}
\begin{quote} \noindent{\textbf{Закон сохранения энергии. Закон изменения энергии}} \end{quote}
\begin{quote} \noindent{\textbf{Сила упругости. Системы пружин}} \end{quote}

2) Преобразует код LaTex между первой и второй меткой одного типа в PNG файл заданной в пикселях ширины (этот параметр можно задавать вручную в скрипте), включая имеющуюся картинку (то есть выглядеть должно как вывод LaTex, а не исходная разметка).
Аналогично для второй и третьей меток. PNG файл сохраняется с названием "Название_файла_tex_Номер задачи по данному типу меток_Условие/Решение" в папку с названием метки. Данные папки с названием метки также создаются скриптом по адресу E:\Tasks folder
PNG
Преобразование не должно искажать вывод LaTex. PNG файлы должны быть в высоком качестве отображения текста и картинок (для сравнения используется стандартный вывод LaTex в pdf).

3) Весь текст LaTex между первой и третьей меткой одного типа должен копироваться (вместе со всеми метками) и добавляться к новому файлу LaTex, содержащему в итоге все задачи по метке данного типа. Данный файл должен создаваться с названием "Название_файла_tex_название_метки" по адресу E:\Tasks folder в папке с названием метки из пункта 2).

Продуктом выполнения задачи должен быть автономный и запускаемый на любой подготовленной машине скрипт. Если для выполнения данной задачи требуется адаптация данных пунктов или их разделение на подпункты, изменения согласуются с заказчиком.
Файлы