Правильное количество слов в документе LaTeX
В настоящее время я ищу приложение или скрипт, который делает правильно количество слов для документа LaTeX.
до сих пор я встречал только скрипты, которые работают только с одним файлом, но то, что я хочу, - это скрипт, который может безопасно игнорировать ключевые слова LaTeX, а также пересекать связанные файлы ... т. е. следовать include и input ссылки для получения правильного количества слов для весь документ.
С vim, я в настоящее время используйте ggVGg CTRL+G но очевидно, что это показывает количество для текущего файла и не игнорирует ключевые слова LaTeX.
кто-нибудь знает какой-либо скрипт (или приложение), который может выполнить эту работу?
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, передавая вывод
pdftotexttowc: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 слова, хотя. :)
Я использую следующий 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