Правильный подсчет слов в документе LaTeX - PullRequest
66 голосов
/ 04 июня 2010

Я сейчас ищу приложение или скрипт, который правильно подсчитывает количество слов для документа LaTeX.

До сих пор я встречал только скрипты, которые работают только с одним файлом, но мне нужен скрипт, который может безопасно игнорировать ключевые слова LaTeX, а также просматривать связанные файлы ... т.е. * и \input ссылки для получения правильного количества слов для целого документа.

С vim я в настоящее время использую ggVGg CTRL+G, но очевидно, что он показывает количество для текущего файла и не игнорирует ключевые слова LaTeX.

Кто-нибудь знает какой-либо скрипт (или приложение), который может выполнять эту работу?

Ответы [ 8 ]

68 голосов
/ 07 июня 2010

Я использую texcount. На веб-странице имеется скрипт 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.

12 голосов
/ 04 июня 2010

Я пошел с комментарием icio и подсчитал количество слов в самом PDF-файле, получив от pdftotext до wc:

pdftotext file.pdf - | wc - w 
7 голосов
/ 04 июня 2010
latex file.tex
dvips -o - file.dvi | ps2ascii | wc -w

должно дать вам достаточно точное количество слов.

5 голосов
/ 18 апреля 2016

В интерфейсе Texmaker вы можете получить количество слов, щелкнув правой кнопкой мыши в предварительном просмотре PDF:

enter image description here

enter image description here

4 голосов
/ 15 февраля 2014

Добавить в @aioobe,

Если вы используете pdflatex, просто сделайте

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

Я сравнил это число с количеством в Microsoft Word в документе из 1599 слов (согласно Word) pdftotext произвел текст с 1700+ словами. texcount не включало ссылки и произвело 1088 слов. ps2ascii вернул 1603 слова. На 4 больше, чем в Word.

Я говорю, что это довольно хороший счет. Я не уверен, где разница в 4 слова, хотя. :)

1 голос
/ 04 июня 2010

Я использую следующий скрипт 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 для получения всех связанных файлов, не так ли?

Преимущество перед другими ответами заключается в том, что ему не нужно создавать выходной файл (PDF или PS) для вычисления количества слов, поэтому он потенциально (в зависимости от использования) намного более эффективен.

Хотя комментарии icio теоретически верны, я обнаружил, что приведенный выше метод дает довольно точные оценки числа слов. Для большинства текстов он находится в пределах 5% поля, используемого во многих заданиях.

0 голосов
/ 05 января 2019

На оборотной стороне есть функция подсчета слов:

Overleaf v2:

enter image description here

enter image description here

Overleaf v1:

enter image description here

enter image description here

0 голосов
/ 17 ноября 2017

Для очень простого документа класса статьи я просто смотрю на количество совпадений для регулярного выражения, чтобы найти слова. Я использую Sublime Text, поэтому этот метод может не работать для вас в другом редакторе, но я просто нажимаю Ctrl+F (Command+F на Mac), а затем, с включенным регулярным выражением, выполняю поиск

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

, который должен игнорировать текст, объявляющий плавающую среду или подписи к цифрам, а также большинство видов базовых уравнений и \usepackage объявлений, включая цитаты и круглые скобки. Он также считает сноски и текст \emph, а также считает \hyperref ссылки одним словом. Это не идеально, но обычно с точностью до нескольких десятков слов или около того. Вы можете усовершенствовать его, чтобы он работал для вас, но, вероятно, лучшим решением будет сценарий, поскольку исходный код LaTeX не является обычным языком. Просто подумал, что я выброшу это здесь.

...