Правильное количество слов в документе LaTeX



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



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



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



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

642   7  

7 ответов:

Я использую 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

если вы только заинтересованы в общей сложности, используйте

Я пошел с комментарием icio и сделал слово-рассчитывать на сам pdf, передавая вывод pdftotext to wc:

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

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

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

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

enter image description here

enter image description here

Я использую следующий 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% маржи, которая используется во многих заданиях.

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

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

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

Comments

    Ничего не найдено.