web-dev-qa-db-ja.com

LaTeXをプレーンテキスト(ASCII)に変換するにはどうすればよいですか?

シナリオ:
LaTeXを使用して作成したドキュメント(この場合は履歴書)があり、pdflatexを正しくコンパイルして、希望どおりに出力しています。ここで、同じドキュメントをプレーンASCIIに変換する必要があります。

例:
これは(少なくとも1回) ここ で行われましたが、作成者は PDFバージョンASCIIバージョン を持っていますPDFバージョンと、マージン、スペース、箇条書きを含むほぼすべての方法で一致します。

ASCII形式の制限により、このタイプの変換は正確に行えないことを認識していますが、これまでに発見したことに基づいて非常に近い近似が可能と思われます。 ?

64
chuckg

CatDVI は、DVIをテキストに変換し、フォーマットを保持しようとします。

16
Beardo

Opendetex は、WindowsとLinuxの両方で使用できます(Macでもコンパイルできます)。 https://github.com/pkubowicz/opendetex からダウンロードできます

使用法:

detex project

project.texを開き、\ includeまたは\ includeonlyコマンドを使用してインクルードされたすべてのファイルを読み取り、結果のテキストを標準出力に出力します。

detex -n project > out.txt

project.texを開き、\ includeまたは\ includeonlyコマンドに従いません。結果のテキストをout.txtに出力します

detex --help

完全なヘルプを表示します

任意のディレクトリに抽出します。ダウンロードディレクトリに抽出したとします。

その中に任意の名前の別のディレクトリを作成します(これはオプションですが推奨されます)。ディレクトリ名が「my_paper」だとします。論文を「my_paper」ディレクトリに入れます。論文名がproject.texであると仮定します。

パスに移動します

    cd ~/Downloads/opendetex

コマンドを実行する

    detex my_paper/project.tex  > out.txt

一般的な形式

    detex -n full_path_to_tex_file.tex > output_text_file.txt
43
Mayank Agarwal

ここで提案されているプログラムのいくつかを試すことができます:

TeXからASCII

14
Diego Sevilla

Pandoc を試すこともできます。ラテックスを他の多くの形式に変換できます。ドキュメントを読むことをお勧めします。いくつかの引数を渡して処理する必要があるトリッキーなケースがあるかもしれません。

9
LittleSweet

別のオプションは、 htlatex を使用してLaTeXソースからWebページを作成し、次に links を使用してプレーンテキストに変換することです。コマンドラインを使用しました

links -dump -no-numbering -no-references input.html > output.txt

過去にはかなり良い結果が得られました。もちろん、これは元のPDFよりもレンダリングされたHTMLのビューに一致するため、希望どおりに表示されるとは限りません。

8
bluebrother

pdflatexを使用している場合、DVIを生成するためにlatexに切り替えるためにパッケージオプションをいじりたくないでしょう。

代わりに、pdfファイルを取り、代わりに変換します。これは、Curveパッケージで作成されたCV /履歴書で機能しました。

pdftotext  -layout MyResume.pdf

-layoutフラグに注意してください。

5
ahcox

私の通常の戦略は、 hyperlatex を使用してWebページに変換し、Webブラウザから対処して貼り付けることです。これが最適な書式設定であることがわかりました。

その後、通常、行の折り返しを手動で修正する必要があります...

3
Brian Postow

私に最適なソリューションは次のとおりです。ラテックスドキュメント名(拡張子なし)が${BASENAME}に保存されていると仮定すると、次の3つの手順を適用します。

htlatex ${BASENAME}.tex

iconv -f iso-8859-1 -t utf-8 ${BASENAME}.html > ${BASENAME}-utf8.html

html2markdown ${BASENAME}-utf8.html > ${BASENAME}.txt

どうやら、tex4htpython-html2textをインストールする必要があります。

3
Jannis Weide

ここで手順を試してください: http://zanedp.livejournal.com/201222.html

LaTeXファイルをプレーンテキストに変換するシーケンスを次に示します。

$ latex file.tex
$ catdvi -e 1 -U file.dvi | sed -re "s/\[U\+2022\]/*/g" | sed -re "s/([^^[:space:]])\s+/\1 /g" > file.txt

Catdviの-e 1オプションは、ASCIIを出力するように指示します。 1ではなく0を使用すると、Unicodeが出力されます。 Unicodeには、箇条書き文字、ダッシュ、ギリシャ文字などのすべての特殊文字が含まれます。また、「fi」や「fl」などの文字の組み合わせの合字も含まれます。気に入らないかもしれません。そのため、代わりに-e 1を使用してください。 -Uオプションを使用して、不明な文字のunicode値を出力し、簡単に検索して置換できるようにします。

コマンドの2番目の部分は、箇条書き文字(•)を指定するために使用される文字列[U + 2022]を見つけ、それらをアスタリスク(*)に置き換えます。

3番目の部分は、行の先頭のスペース(インデント)を維持しながら、catdviがスローした余分な空白をすべて使い果たしてテキストを完全に揃えます。

これらのコマンドを実行した後、.txtファイルで文字列[U +を検索して、ASCIIにマッピングできないUnicode文字が残っていないことを確認して修正することをお勧めします。

3
user255191

インデックス作成と検索のためにTEXファイルからプレーンテキストを取得する必要があるとき、LaTeX2RTFが適切なソリューションであることがわかりました。これには Windows用インストーラーとGUI があり、RTF Wordで開くことができる50ページの論文のファイル。

3
tsvikas

LyXを試してみましたが、うまく機能します。唯一の微妙な違いは、他のTeXファイルを含むTeXファイルがある場合、何かが足りない限り、それらをすべて個別にエクスポートする必要があるということです。

2
literal jdm

Pandoc を使用すると、ファイルをある形式から別の形式に変換できます。次のpandocコマンドを使用します。

pandoc -s /path/to/foobar.tex -o foobar.txt

特定の列で行を分割する場合は、--columnフラグを使用します。改行しない場合は--columns 10000を使用します。

-o foobar.txt他の多くの形式 markdown(.md)などに変換できます。-o foobar.txtを指定しない場合、pandocは可能なHTMLを出力しますオンラインツールでレンダリングします。

Pandocをインストールするには、 この公式ドキュメント に従ってください

1

lyxにインポートして、lyxのテキストへのエクスポート機能を使用できます。

lyxを使用していないが、すでに持っている場合は非常に迅速かつ簡単なソリューションです。私にとっては良い結果が得られましたが、公平を期すために、私のファイルは非常に単純です。どれだけ精巧なファイルが変換されるかわかりません。

0
DDD

Emacsには、iso-iso2texのような単一のコマンドをiso-tex2isoに変換しないことを除いて、非常にうまく機能するコマンド\OEおよびŒがあります。

0
Geremia