Вопрос

Я знаю, как создать PDF-файл из LaTeX.Есть ли способ извлечь LaTeX-код из PDF-файла, который я создал ранее?Как насчет того, если кто-нибудь пришлет мне PDF-файл, и мне понравится форматирование?Могу ли я извлечь из него латекс?

Это было полезно?

Решение

LaTeX не имеет преобразования один в один в PDF. Что касается вашего первого вопроса, я считаю, что такое преобразование может быть технически возможным, но я не верю, что приложение для этого еще существует. Подобно тому, как ассемблер может быть декомпилирован обратно на язык высокого уровня, вероятно, есть способ сделать это. Тем не менее - PDF-файл может содержать все виды данных - чертежи AutoCAD, графические файлы JPEG, файлы шрифтов, формы, цифровые подписи и т. Д. LaTeX понятия не имеет, что это такое. Таким образом, ответ на второй вопрос - нет - нет способа извлечь эквивалент LaTeX из любого документа PDF.

Другие советы

Существует инструмент, который читает PDF-файлы, например, OCR, и пытается воссоздать латексный код. Он почти идеален и называется " Infty Reader " ! Поскольку латекс достаточно расширяемый, я не думаю, что он подходит для всех аккуратных форматов.

Это возможно только в том случае, если вы встраиваете источник документа в файл PDF. См. пакет attachfile для этого.

Короткая версия: нет.

Длинная версия: это очень похоже на декомпиляцию: технически это возможно, но для этого нужно много догадок и эвристик.

Я не знаком с внутренностями PDF, но, скорее всего, он будет устанавливать шрифты / размеры / положение напрямую, а не определять формат и применять его к заголовкам и тому подобному, как в LaTeX.

Можно конвертировать ваш PDF в HTML и ваш HTML в TEX, используя pdftohtml и gnuhtml2latex.

По сути, вы выполняете преобразование PDF в LaTeX в 2 этапа. Результат по-прежнему похож на «приготовление коровы из гамбургера», но в сочетании с некоторыми сценариями очистки результат может быть довольно приличным.

Пост блога " элементарный PDF для Конвертация LaTeX в Linux " в GlobalBlindSpot есть пример сценария Bash, который преобразует файл .pdf в файл .tex, а затем снова в файл .pdf.

Смотрите мой ответ на связанный вопрос ( как DVI в текс? )

Для усиления - нет необходимости, чтобы символы были в порядке чтения (я нашел PDF-файлы, где часть sdrawkcab sdaer txet (и опирается на координаты). Это очень сложно восстановить, так как это может зависеть от метрик шрифта Который может использовать ужасающий протокол ASCII86.

Лучший способ извлечения данных из PDF-файлов (из-за их сложного формата) - это открывать их с помощью Adobe illustrator.Затем преобразуйте PDF-файл в svg-файл и используйте библиотеку svg-синтаксического анализа, написав какой-нибудь сложный код самостоятельно.

Одной из эффективных библиотек для синтаксического анализа svg является батик

(Для Linux довольно сложно конвертировать PDF в svg:calcmaster.net/personal_projects/pdf2svg /)

PS С тех пор я много раз пытался найти решение вашей второй части вашего вопроса но я разобрался в таких книгах, как "Визуализация данных, Бен Фрай, О'Рейли" этот PDF-файл, особенно Adobe pdf, слишком сложен для анализа, поэтому вместо него используйте библиотеку svg-парсера.

Inkscape может импортировать PDF-файлы, а затем сохранять их как " LaTeX с макросами PSTricks " который по сути работает путем встраивания PostScript в исходный код LaTeX. Это больше проблем, чем стоит, и полученный латексный источник должен быть предварительно обработан, прежде чем он снова может быть выведен в формате PDF.

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

Он может работать с texmacs , который включает импорт файлов PDF.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top