2009-10-25 6 views
19

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

+1

http://tex.stackexchange.com/questions/8503/how-to-convert-pdf-to-latex –

risposta

12

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

4

Versione corta: No.

Versione lunga: E 'un po' come la decompilazione: è tecnicamente possibile, ma si tratterebbe di un sacco di indovinare e euristica.

Non ho familiarità con i componenti interni del PDF, ma è probabile che imposti i caratteri/le dimensioni/la posizione direttamente, invece di definire un formato e applicarlo alle intestazioni e simili, come in LaTeX.

6

È possibile solo se si incorpora la fonte del documento nel file PDF. Vedere il pacchetto attachfile per farlo. PDF v'è alcun obbligo per i caratteri di essere in ordine di lettura (che ho trovato in cui una parte del txet sdrawkcab sdaer (e si basa sulle coordinate) -

+0

In alternativa, è possibile aggiungere i metadati che forniscono suggerimenti utilizzando PDF con tag. –

+0

Sì, è vero, ma non sono a conoscenza di un modo preesistente di trasformare il sorgente LaTeX in un PDF tramite questa rotta. Eventuali suggerimenti? –

+1

Spiacente, non ho visto la tua domanda fino a poco tempo. Ross Moore ha dimostrato aggiunte pdftex che consentono la generazione di PDF in cui la matematica viene taggata con il codice Tex che li genera. Questa è una lunga strada da una risposta completa alla domanda, ma penso che dimostri che è * possibile *. C'è altro che voglio dire su questo in un commento - dirò solo che potrebbe fare una grande tesi di laurea. –

1

Vedere la mia risposta sulla domanda relativa (how to turn a DVI to tex?)

Per amplificare . Questo è molto difficile ricostruire quanto può dipendere da metriche di carattere. che può utilizzare il protocollo ASCII86 spaventosa.

-1

può lavorare con texmacs, che include l'importazione di file pdf.

+0

texmacs è abandonware che non ha mai provato a risolvere questo problema. –

+0

ancora, l'ho già fatto. – Aif

+0

Dimmi di più! Diversi anni fa ho scritto su texmac come un approccio ipersensibile a un problema che non aveva bisogno di una rivoluzione. Immagino tu abbia una visione diversa? –

1

il modo migliore per i dati l'estrazione da file PDF (a causa del suo formato complicato) è di aprire loro con Adobe Illustrator. Quindi converti il ​​file pdf in file svg e usa una libreria di parser svg scrivendo un codice complicato su te stesso.

Un efficiente lib svg parser è batik

(Per Linux è piuttosto un po 'complessa per la conversione da PDF a SVG: calcmaster.net/personal_projects/pdf2svg/)

PS Sono stato provando da molto per trovare una soluzione alla tua seconda parte della tua domanda ma ho capito in libri come "Visualizing Data, Ben Fry, O'Reilly" che pdf in particolare Adobe pdf è complesso da analizzare, quindi invece usa una lib di svg pars.

+0

L'OP ha richiesto soluzioni su Linux ... –

1

Inkscape può importare PDF e quindi salvare come "LaTeX con macro PSTricks" che funziona essenzialmente inserendo PostScript nel sorgente LaTeX. È più difficile del suo valore e la sorgente Latex risultante deve essere sottoposta a pre-elaborazione prima che possa essere nuovamente visualizzata come PDF.

In ogni caso, anche con qualche ipotetico PDF per il compilatore LaTeX, nella migliore delle ipotesi si otterrebbe qualcosa in cui la posizione e la dimensione di ogni carattere o parola è specificata separatamente - l'opposto di ciò che si desidera, che sto indovinando è per un denominatore deve essere la metà di una frazione, piuttosto che un numero al di sotto di una linea orizzontale.

3

È possibile convertire il PDF in HTML e il codice HTML in TEX utilizzando pdftohtml e gnuhtml2latex.

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

Il post del blog "Rudimentary PDF to LaTeX conversion in Linux" su GlobalBlindSpot ha uno script Bash di esempio che converte un file .pdf in .tex e quello nuovamente in un file .pdf.

8

C'è uno strumento che legge file PDF come un OCR e tenta di ricreare il codice Latex. È quasi perfetto e chiamato "Infty Reader"! Dato che Latex è abbastanza estendibile, non penso che abbia tutti i giusti formati.

+1

InftyReader è solo per MS Windows. –