Nombre de mots Correct d'un document LaTeX

Je suis actuellement à la recherche d'une application ou d'un script qui fait un nombre de mots correct pour un document LaTeX.

Jusqu'à présent, je n'ai rencontré que des scripts qui ne fonctionnent que sur un seul fichier, mais ce que je veux, c'est un script qui peut ignorer en toute sécurité les mots-clés LaTeX et aussi traverser les fichiers liés...c'est-à-dire suivre les liens include et input pour produire un nombre de mots correct

Avec vim, j'utilise actuellement ggVGg CTRL+G mais évidemment cela montre l' count pour le fichier en cours et n'ignore pas les mots clés LaTeX.

Est-ce que quelqu'un connaît un script (ou une application) qui peut faire ce travail?

62
demandé sur Thom Wiggers 2010-06-04 18:20:21

7 réponses

J'utilise texcount. La page web a un script Perl à télécharger (et un manuel).

, Il comprendra tex fichiers qui sont inclus (\input ou \include) dans le document (voir -inc), prend en charge les macros, et a beaucoup d'autres fonctionnalités intéressantes.

Lorsque vous suivez les fichiers inclus, vous obtiendrez des détails sur chaque fichier séparé ainsi qu'un total. Par exemple, voici la sortie totale pour un document de 12 pages:

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

Si vous n'êtes intéressé que par le total, utilisez le -total argument.

66
répondu Geoff 2010-06-07 22:11:50

Je suis allé avec le commentaire d'icio et j'ai fait un compte de mots sur le pdf lui-même en envoyant la sortie de pdftotext à wc:

pdftotext file.pdf - | wc - w 
10
répondu Andreas Grech 2010-06-04 14:47:57
latex file.tex
dvips -o - file.dvi | ps2ascii | wc -w

Devrait vous donner un nombre de mots assez précis.

7
répondu aioobe 2010-06-04 14:41:12

Pour ajouter à @aioobe,

Si vous utilisez pdflatex, faites simplement

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

J'ai comparé ce nombre au nombre dans Microsoft Word dans un document word 1599 (selon Word). pdftotext produit un texte avec plus de 1700 mots. texcount n'incluait pas les références et produisait 1088 mots. ps2ascii retourné 1603 mots. 4 plus que dans Word.

Je dis que c'est un bon décompte. Je ne sais pas où est la différence de mot 4, cependant. :)

3
répondu fiacobelli 2014-02-15 05:36:25

Dans L'interface Texmaker, vous pouvez obtenir le nombre de mots en cliquant avec le bouton droit dans L'Aperçu PDF:

entrez la description de l'image ici

entrez la description de l'image ici

3
répondu Franck Dernoncourt 2016-04-18 17:37:48

J'utilise le script VIM suivant:

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

... mais il ne suit pas les liens. Cela impliquerait essentiellement l'analyse du fichier TeX pour obtenir tous les fichiers liés, n'est-ce pas?

L'avantage par rapport aux autres réponses est qu'il n'a pas besoin de produire un fichier de sortie (PDF ou PS) pour calculer le nombre de mots, donc il est potentiellement (en fonction de l'utilisation) Beaucoup plus efficace.

Bien que le commentaire d'icio soit théoriquement correct, j'ai trouvé que la méthode ci-dessus donne tout à fait estimations précises pour le nombre de mots. Pour la plupart des textes, c'est bien dans la marge de 5% qui est utilisée dans de nombreuses missions.

1
répondu Konrad Rudolph 2010-06-04 14:55:55

Pour un document de classe d'article très basique, je regarde juste le nombre de correspondances pour une expression rationnelle pour trouver des mots. J'utilise du texte Sublime, donc cette méthode peut ne pas fonctionner pour vous dans un éditeur différent, mais je viens de frapper Ctrl+F (Command+F sur Mac), puis, avec regex activé, recherchez

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

Qui devrait ignorer le texte déclarant un environnement flottant ou des légendes sur les chiffres ainsi que la plupart des types d'équations de base et \usepackage déclarations, tout en incluant des citations et des parenthèses. Il compte aussi notes de bas de page et \emph texte dimensionné et comptera \hyperref liens comme un seul mot. Ce n'est pas parfait, mais il est généralement précis à quelques dizaines de mots. Vous pouvez l'affiner pour fonctionner pour vous, mais un script est probablement une meilleure solution, car le code source LaTeX n'est pas un langage normal. Je pensais juste jeter ça ici.

0
répondu ocket8888 2017-11-17 20:06:49