Как извлечь значительный текстовый контент из документа LaTeX

Мне нужно извлечь текстовый контент из моего тезисного документа, написанного на LaTeX, для автоматической проверки на плагиат. Я знаю только о "черновом" варианте и этого мало.

Я должен опустить:

  • изображений,
  • столы и другие рисунки,
  • уравнения,
  • подписи и сноски.

Также было бы неплохо удалить все ссылки. Вывод должен быть простым (в кодировке UTF-8) текстовым файлом.

Есть ли простой способ сделать это? Мне не очень нравится копировать его вручную постранично.

5 ответов

Решение

Вы можете попытаться использовать пакет комментариев (или одну из дюжины альтернатив), чтобы превратить уравнение, рисунок, таблицу и т. Д. В среду комментирования и \renewcommand\footnote[1]{} для удаления сносок. \pagestyle{empty} должен удалять заголовки страниц и т. д., поэтому запуск pdftotext для результата должен приближаться к тому, что вы хотите.

Вы можете использовать конвертер документов, такой как pandoc, или конвертировать выходной PDF в обычный текст с помощью чего-то вроде Caliber.

Да: untex, простой C-скрипт. Вы также можете посмотреть на Detex.

Обычно вы хотите, чтобы некоторая обработка LaTeX была выполнена над текстом, скажем, у вас есть

\ Newcommand*{\SO}{Stackru\ индекс {Stackru} \ xspace}

...

Я трачу много времени на \SO, бла-бла....

Простая фильтрация текстового абзаца здесь не даст текст, подобный ожидаемому результату, если он содержит какие-либо макросы.

Поэтому попытка извлечь что-либо непосредственно из файла *.tex обычно оставляет желать лучшего из результата. Поэтому обычно лучше работать с выходом из латексной обработки. Я бы порекомендовал конвертировать латекс в HTML, а затем из HTML в текст. Вам, вероятно, понадобится некоторая ручная очистка, но я думаю, что это должно быть относительно близко.

Хотя о Detex уже упоминалось, тем не менее, существует еще один проект, направленный на его улучшение. Это называется opendetex, посмотрите!

Другие вопросы по тегам