# Требования к улучшению генерации Markdown ## Цель Повысить качество Markdown, генерируемого из PDF с помощью PP-StructureV3, чтобы результат можно было использовать для: - просмотра в браузере; - последующего анализа LLM; - конвертации в HTML; - корректного отображения формул через MathJax/KaTeX. --- # 1. Формулы ## Display-формулы - Все блочные формулы должны сохраняться в исходном LaTeX, полученном от PP-StructureV3. - Формулы не должны изменяться или экранироваться. - Использовать стандартный синтаксис ```markdown $$ ... $$ ``` --- ## Inline-формулы Текущая проблема: ```markdown \$R=r\^{}\{2\}\$ ``` или ```markdown \textbackslash{}sim ``` Такой вывод недопустим. Требования: - inline-формулы должны сохраняться как ```markdown $R=r^{2}$ ``` или ```markdown $u_i \sim N(0,1)$ ``` - не использовать `\textbackslash{}` - не использовать `\$` - не использовать экранирование LaTeX-команд --- # 2. Не преобразовывать LaTeX в текст Запрещается преобразовывать ```latex \alpha \sqrt \frac \sim \left \right ``` в ```text \textbackslash{}alpha \textbackslash{}sqrt ... ``` Markdown должен содержать настоящий LaTeX. --- # 3. OCR-постобработка формул Исправлять наиболее типичные OCR-ошибки. Например | Было | Должно стать | |------|--------------| | `V a R` | `VaR` | | `P D` | `PD` | | `N ^ {-1}` | `N^{-1}` | | `l` вместо `1` | исправлять при высокой уверенности | | `O` вместо `0` | исправлять при высокой уверенности | --- # 4. Inline-формулы внутри текста По возможности выделять математические выражения внутри абзацев. Например ```text where u_i ~ N(0,1) ``` ↓ ```markdown where $u_i \sim N(0,1)$ ``` Даже если PP-StructureV3 не выделил их отдельным Formula Block. --- # 5. Не генерировать TeX-документ Не использовать экспорт в полноценный `.tex`. Целевой формат — Markdown. Формулы должны быть совместимы с MathJax и KaTeX. --- # 6. Проверка корректности LaTeX Перед сохранением желательно проверить: - баланс фигурных скобок; - баланс `\left...\right`; - парность `$`; - отсутствие повреждённых команд. Некорректный LaTeX должен логироваться. --- # 7. Качество Markdown Запрещается появление конструкций вида ```text \textbackslash{} \$ \_ ``` если они являются следствием экранирования LaTeX. В итоговом Markdown должен оставаться исходный LaTeX. --- # 8. HTML Markdown должен без дополнительной обработки корректно преобразовываться в HTML с использованием MathJax или KaTeX. После конвертации все формулы должны отображаться без ручного исправления. --- # 9. Разделить этапы OCR и генерации Markdown Не смешивать OCR, исправление текста и генерацию Markdown в одном проходе. Рекомендуемый pipeline: 1. PP-StructureV3 2. OCR результатов 3. Постобработка OCR 4. Исправление типичных ошибок LaTeX 5. Генерация Markdown 6. Валидация Markdown 7. Конвертация в HTML Это позволит независимо улучшать качество OCR, постобработки и форматирования без изменения остальных этапов.