web-dev-qa-db-ja.com

LaTeX文書の正しい単語数

現在、LaTeXドキュメントの正しいワードカウントを行うアプリケーションまたはスクリプトを検索しています。

これまで、単一のファイルでのみ動作するスクリプトに遭遇しましたが、LaTeXキーワードを安全に無視できるスクリプトと、トラバースリンクファイル ... ie follow \includeおよび\inputリンクは、wholeドキュメントの正しいワードカウントを生成します。

Vimでは、現在ggVGg CTRL+Gしかし、明らかに現在のファイルのカウントを表示し、LaTeXキーワードを無視しません。

誰もがこの仕事を行うことができるスクリプト(またはアプリケーション)を知っていますか?

66
Andreas Grech

texcountを使用します。 webpage には、ダウンロードするPerlスクリプト(およびマニュアル)があります。

含まれるtexファイルが含まれます(\inputまたは\include)ドキュメント内(-inc)、マクロをサポートし、他の多くの素晴らしい機能があります。

含まれているファイルをたどると、それぞれの個別のファイルの詳細と合計が表示されます。たとえば、私の12ページのドキュメントの合計出力は次のとおりです。

TOTAL COUNT
Files: 20
Words in text: 4188
Words in headers: 26
Words in float captions: 404
Number of headers: 12
Number of floats: 7
Number of math inlines: 85
Number of math displayed: 19

合計のみに関心がある場合は、-total引数。

68
Geoff

私はicioのコメントに行き、pdftotextの出力をwcにパイプすることにより、pdf自体でワードカウントを行いました。

pdftotext file.pdf - | wc - w 
12
Andreas Grech
latex file.tex
dvips -o - file.dvi | ps2ascii | wc -w

かなり正確な単語数が得られるはずです。

7
aioobe

Texmakerインターフェースでは、PDFプレビュー:

enter image description here

enter image description here

5

@aioobeに追加するには、

Pdflatexを使用する場合は、

pdftops file.pdf
ps2ascii file.ps|wc -w

この数を1599 Word文書のMicrosoft Wordの数(Wordによる)と比較しました。 pdftotextは、1700以上の単語を含むテキストを作成しました。 texcountには参照が含まれず、1088個の単語が生成されました。 ps2asciiは1603ワードを返しました。 Wordよりも4つ多い。

私はそれがかなり良い数だと言います。ただし、4ワードの違いはどこにあるのかわかりません。 :)

4
fiacobelli

私は次のVIMスクリプトを使用します:

function! WC()
    let filename = expand("%")
    let cmd = "detex " . filename . " | wc -w | Perl -pe 'chomp; s/ +//;'"
    let result = system(cmd)
    echo result . " words"
endfunction

…しかし、それはリンクをたどりません。これは基本的に、リンクされたすべてのファイルを取得するために解析 TeXファイルを必要としますか?

他の回答よりも優れている点は、Wordカウントを計算するために出力ファイル(PDFまたはPS)を生成する必要がないため、潜在的に(使用状況に応じて)muchより効率的です。

Icioのコメントは理論的には正しいのですが、上記の方法では単語数の非常に正確な推定値が得られることがわかりました。ほとんどのテキストでは、多くの課題で使用されている5%のマージン内です。

1
Konrad Rudolph

非常に基本的な記事クラスのドキュメントの場合、単語を見つけるために正規表現に一致する数を調べるだけです。私はSublime Textを使用しているため、この方法は別のエディターでは機能しないかもしれませんが、Ctrl+FCommand+F Macの場合)、正規表現を有効にして、

(^|\s+|"|((h|f|te){)|\()\w+

フローティング環境を宣言するテキストや、図のキャプション、およびほとんどの種類の基本方程式と\usepackage宣言。引用符と括弧を含めます。また、脚注と\emphasized text and count \hyperref 1つのWordとしてリンクします。完全ではありませんが、通常は数十語程度の精度です。あなたのためにそれを洗練させることはできますが、LaTeXソースコードは通常の言語ではないので、スクリプトはおそらくより良い解決策です。私はこれをここに投げると思いました。

0
ocket8888

Overleafにはワードカウント機能があります。

Overleaf v2:

enter image description here

enter image description here

Overleaf v1:

enter image description here

enter image description here

0