Domanda

So come creare un PDF da LaTeX. C'è un modo per estrarre il codice LaTeX da un PDF creato in precedenza? Che ne dici se qualcuno mi manda un PDF e mi piace la formattazione. Posso estrarre il LaTeX da esso?

È stato utile?

Soluzione

LaTeX non ha una conversione uno a uno in PDF. Per quanto riguarda la tua prima domanda, credo che una tale conversione possa essere tecnicamente possibile, ma non credo che esista ancora una domanda per farlo. Simile al modo in cui l'assemblatore può essere decompilato in un linguaggio di alto livello, esiste probabilmente un modo per farlo. Tuttavia, un pdf può contenere qualsiasi tipo di dato: disegni di AutoCAD, grafica JPEG, file di caratteri, moduli, firme digitali, ecc. LaTeX non ha idea di cosa siano queste cose. Quindi, in risposta alla seconda domanda è no: non esiste un modo per estrarre LaTeX equivalente da qualsiasi documento PDF.

Altri suggerimenti

Esiste uno strumento che legge file PDF come un OCR e cerca di ricreare il codice in lattice. È quasi perfetto e si chiama " Infty Reader " ! Poiché Latex è abbastanza estensibile, non penso che ottenga tutti i formati giusti.

È possibile solo se si incorpora l'origine del documento nel file PDF. Vedi il attachfile per farlo.

Versione breve: No.

Versione lunga: è molto simile alla decompilazione: tecnicamente potresti, ma implicherebbe molte ipotesi ed euristica.

Non ho familiarità con le interiora in PDF, ma probabilmente imposterà direttamente caratteri / dimensioni / posizione, invece di definire un formato e applicarlo a intestazioni e simili, come in LaTeX.

È possibile convertire il tuo PDF in HTML e il tuo HTML in TEX usando pdftohtml e gnuhtml2latex.

In effetti, stai eseguendo la conversione da PDF a LaTeX in 2 passaggi. Il risultato è ancora come "fare una mucca da un hamburger", ma in combinazione con alcuni script di pulizia il risultato può essere abbastanza decente.

Il post sul blog " PDF rudimentale su Conversione LaTeX in Linux " su GlobalBlindSpot ha uno script Bash di esempio che converte un .pdf in un file .tex e quello in un nuovo file .pdf.

Vedi la mia risposta sulla domanda correlata ( come trasformare un Da DVI a tex? )

Amplificazione: non è necessario che i caratteri siano in ordine di lettura (ho trovato PDF in cui parte di sdrawkcab sdaer txet (e si basa sulle coordinate). È molto difficile da ricostruire in quanto può dipendere dalla metrica dei caratteri Che può usare il terribile protocollo ASCII86.

Il modo migliore per il data mining dai file pdf (a causa del suo formato complicato) è aprirli con Adobe Illustrator. Quindi converti il ??file pdf in file svg e usa una libreria sver parser scrivendo del codice complicato su di te.

Una efficiente libreria svg parser è batik

(Per Linux è abbastanza complesso per convertire pdf in svg: calcmaster.net/personal_projects/pdf2svg /)

PS Ho cercato da molto tempo di trovare una soluzione alla tua seconda parte della tua domanda ma ho capito in libri come "Visualizzazione dei dati, Ben Fry, O'Reilly" che PDF, specialmente Adobe PDF, è troppo complesso da analizzare, quindi usa invece una svg parser lib.

Inkscape può importare PDF e salvarli come " LaTeX con macro PSTricks " che funziona essenzialmente incorporando PostScript nel sorgente LaTeX. È più un problema che un valore, e la fonte di Latex risultante deve essere preelaborata prima di poter essere nuovamente riprodotta come PDF.

Ad ogni modo, anche con un ipotetico compilatore da PDF a LaTeX, nella migliore delle ipotesi otterresti qualcosa in cui la posizione e la dimensione di ogni carattere o parola è specificata separatamente - l'opposto di quello che vuoi, che suppongo sia un denominatore deve essere la metà di una frazione, anziché un numero al di sotto di una linea orizzontale.

Potrebbe funzionare con texmacs , che include un'importazione di file pdf.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top