web-dev-qa-db-fra.com

Récupérer PDF vers LaTeX

Je sais comment créer un PDF de LaTeX. Existe-t-il un moyen d'extraire le code LaTeX d'un PDF que j'ai créé plus tôt? Que diriez-vous si quelqu'un m'envoie a PDF et j'aime le formatage. Puis-je en extraire le LaTeX?

23
Mawnster

LaTeX n'a ​​pas de conversion biunivoque en PDF. En ce qui concerne votre première question, je pense qu'une telle conversion peut être techniquement possible, mais je ne pense pas qu'il existe encore d'application pour le faire. Semblable à la façon dont l'assembleur peut être décompilé en langage de haut niveau, il existe probablement un moyen de le faire. Cependant - un pdf est autorisé à contenir toutes sortes de types de données - dessins AutoCAD, graphiques JPEG, fichiers de polices, formulaires, signatures numériques, etc. LaTeX n'a ​​aucune idée de ce que sont ces choses. Donc, en réponse à la deuxième question est non - il n'y a pas de moyen d'extraire l'équivalent LaTeX d'un document PDF.

13
Billy ONeal

Il existe un outil qui lit les fichiers PDF comme un OCR et essaie de recréer le Latex-Code. Il est presque parfait et s'appelle "Infty Reader" ! Parce que le latex est assez extensible, je ne pense pas que tous les formats soient corrects.

8
jaminka evening

Cela n'est possible que si vous incorporez la source du document dans le fichier PDF. Consultez le package attachfile pour ce faire.

7
Will Robertson

Version courte: Non.

Version longue: C'est un peu comme la décompilation: vous pourriez techniquement le faire, mais cela impliquerait beaucoup de devinettes et d'heuristiques.

Je ne connais pas les PDF entrailles, mais cela définira probablement les polices/tailles/position directement, au lieu de définir un format et de l'appliquer aux en-têtes et autres, comme dans LaTeX.

5
Tordek

Il est possible de convertir votre PDF en HTML et votre HTML en TEX en utilisant pdftohtml et gnuhtml2latex.

En fait, vous faites une conversion PDF vers LaTeX en 2 étapes. Le résultat est toujours comme "faire une vache avec un hamburger", mais en combinaison avec certains scripts de nettoyage, le résultat peut être joli décent.

Le billet de blog " Rudimentaire PDF à LaTeX conversion sous Linux " sur GlobalBlindSpot a un exemple de script Bash qui convertit un .pdf en un fichier .tex et celui-ci en un Fichier .pdf à nouveau.

3
Tom Van Braeckel

Inkscape peut importer des fichiers PDF, puis les enregistrer en tant que "LaTeX avec des macros PSTricks", ce qui fonctionne essentiellement en incorporant du PostScript dans la source LaTeX. C'est plus difficile que sa valeur, et la source Latex résultante doit être prétraitée avant de pouvoir être reproduite en tant que PDF à nouveau.

Quoi qu'il en soit, même avec une hypothétique PDF vers le compilateur LaTeX, au mieux, vous obtiendrez quelque chose où la position et la taille de chaque caractère ou mot sont spécifiées séparément - l'opposé de ce que vous voulez, qui Je suppose que le dénominateur doit être la moitié d'une fraction, plutôt qu'un certain nombre en dessous d'une ligne horizontale.

2
johncip

Le meilleur moyen pour l'exploration de données à partir de fichiers pdf (en raison de son format compliqué) est de les ouvrir avec Adobe illustrator. Ensuite, convertissez le fichier pdf en fichier svg et utilisez une bibliothèque d'analyseur svg en écrivant du code difficile sur vous-même.

Un libérateur d'analyseur svg efficace est batik

(Pour Linux, c'est assez complexe pour convertir un pdf en svg: calcmaster.net/personal_projects/pdf2svg/)

PS J'essaie depuis longtemps de trouver une solution à votre deuxième partie de votre question, mais j'ai compris dans des livres tels que "Visualizing Data, Ben Fry, O'Reilly" que le pdf en particulier Adobe pdf est trop complexe à analyser , utilisez donc plutôt une bibliothèque d'analyseur svg.

1
Novemberland

Voir ma réponse sur une question connexe ( comment transformer un DVI en tex? )

Pour amplifier - il n'est pas nécessaire que les caractères soient en ordre de lecture (j'ai trouvé des fichiers PDF où une partie du txet sdrawkcab sdaer (et repose sur les coordonnées). C'est très difficile à reconstruire car cela peut dépendre des mesures de police. utilisez le protocole épouvantable ASCII86.

1
peter.murray.rust