LaTeX から PDF を作成する方法を知っています。以前に作成した PDF から LaTeX コードを抽出する方法はありますか? 誰かが私に PDF を送ってくれて、書式設定が気に入ったらどうしますか。そこから LaTeX を抽出できますか?
9 に答える
LaTeX には、PDF への 1 対 1 の変換はありません。あなたの最初の質問に関して、私はそのような変換が技術的に可能であると信じていますが、そうするためのアプリケーションはまだ存在していないと思います. アセンブラーを逆コンパイルして高級言語に戻す方法と同様に、おそらくそれを行う方法があります。ただし、pdf には、AutoCAD 図面、JPEG グラフィック、フォント ファイル、フォーム、デジタル署名など、あらゆる種類のデータを含めることができます。LaTeX は、これらが何であるかを知りません。したがって、2 番目の質問に対する答えはノーです。PDF 文書から同等の LaTeX を抽出する方法はありません。
OCRのようにPDFファイルを読み取り、ラテックスコードを再作成しようとするツールがあります。それはほぼ完璧で、「Infty Reader」と呼ばれています!Latex は非常に拡張性が高いため、すべての適切な形式が適切に処理されるとは思いません。
ショートバージョン:いいえ。
長いバージョン: 逆コンパイルによく似ています: 技術的には可能ですが、多くの推測とヒューリスティックが必要になります。
私はPDFの内部に精通していませんが、LaTeXのようにフォーマットを定義してヘッダーなどに適用するのではなく、フォント/サイズ/位置を直接設定する可能性があります。
pdftohtml と gnuhtml2latex を使用して、PDF を HTML に、HTML を TEX に変換できます。
実際には、2 つのステップで PDF から LaTeX への変換を行っています。結果は「ハンバーガーから牛を作る」ようなものですが、いくつかのクリーンアップ スクリプトと組み合わせると、かなりまともな結果になる可能性があります。
GlobalBlindSpotのブログ記事「Linux での基本的な PDF から LaTeX への変換」には、.pdf を .tex ファイルに変換し、それを .pdf ファイルに再度変換する Bash スクリプトの例があります。
Inkscape は PDF をインポートし、「PSTricks マクロを使用した LaTeX」として保存できます。これは基本的に PostScript を LaTeX ソースに埋め込むことで機能します。それはその価値よりも面倒であり、結果の Latex ソースは、PDF として再度出力する前に前処理する必要があります。
とにかく、いくつかの架空の PDF から LaTeX へのコンパイラを使用しても、せいぜい、各文字または単語の位置とサイズが個別に指定されているものを取得できます。これは、分母が水平線より下の数ではなく、分数の 2 分の 1 である必要があります。
関連する質問に関する私の回答を参照してください(DVIをtexに変換する方法は?)
増幅するために-文字を順番に読む必要はありません(sdrawkcab sdaer txetの一部である(そして座標に依存する)PDFを見つけました)。フォントメトリックに依存する可能性があるため、再構築するのは非常に困難です。恐ろしいASCII86プロトコルを使用してください。
PDF ファイルからデータ マイニングを行う最良の方法は (形式が複雑であるため)、adobe illustrator で開くことです。次に、pdf ファイルを svg ファイルに変換し、svg パーサー ライブラリを使用して、トリッキーなコードを自分で作成します。
効率的な svg パーサー ライブラリの 1 つはバティックです
(Linux の場合、pdf を svg に変換するのはかなり複雑です: calcmaster.net/personal_projects/pdf2svg/)
PS私はあなたの質問の2番目の部分に対する解決策を見つけるために多くのことを試みてきましたが、「データの視覚化、ベンフライ、オライリー」などの本で、特にAdobe pdfは解析が複雑すぎることを理解しました、代わりに svg パーサー ライブラリを使用します。
これは、pdfファイルのインポートを含むtexmacsで動作する可能性があります。