現在、LaTeXドキュメントの正しいワードカウントを行うアプリケーションまたはスクリプトを検索しています。
これまで、単一のファイルでのみ動作するスクリプトに遭遇しましたが、LaTeXキーワードを安全に無視できるスクリプトと、トラバースリンクファイル ... ie follow \include
および\input
リンクは、wholeドキュメントの正しいワードカウントを生成します。
Vimでは、現在ggVGg CTRL+G
しかし、明らかに現在のファイルのカウントを表示し、LaTeXキーワードを無視しません。
誰もがこの仕事を行うことができるスクリプト(またはアプリケーション)を知っていますか?
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
引数。
私はicioのコメントに行き、pdftotext
の出力をwc
にパイプすることにより、pdf自体でワードカウントを行いました。
pdftotext file.pdf - | wc - w
latex file.tex
dvips -o - file.dvi | ps2ascii | wc -w
かなり正確な単語数が得られるはずです。
@aioobeに追加するには、
Pdflatexを使用する場合は、
pdftops file.pdf
ps2ascii file.ps|wc -w
この数を1599 Word文書のMicrosoft Wordの数(Wordによる)と比較しました。 pdftotext
は、1700以上の単語を含むテキストを作成しました。 texcount
には参照が含まれず、1088個の単語が生成されました。 ps2ascii
は1603ワードを返しました。 Wordよりも4つ多い。
私はそれがかなり良い数だと言います。ただし、4ワードの違いはどこにあるのかわかりません。 :)
私は次の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%のマージン内です。
非常に基本的な記事クラスのドキュメントの場合、単語を見つけるために正規表現に一致する数を調べるだけです。私はSublime Textを使用しているため、この方法は別のエディターでは機能しないかもしれませんが、Ctrl+F
(Command+F
Macの場合)、正規表現を有効にして、
(^|\s+|"|((h|f|te){)|\()\w+
フローティング環境を宣言するテキストや、図のキャプション、およびほとんどの種類の基本方程式と\usepackage
宣言。引用符と括弧を含めます。また、脚注と\emph
asized text and count \hyperref
1つのWordとしてリンクします。完全ではありませんが、通常は数十語程度の精度です。あなたのためにそれを洗練させることはできますが、LaTeXソースコードは通常の言語ではないので、スクリプトはおそらくより良い解決策です。私はこれをここに投げると思いました。