Я хотел бы вывести количество слов в разделе документа. Однако раздел не означает \section{...}. Это просто произвольный набор абзацев. Количество слов должно исключать подписи и сноски.
\begin{document}
stuff
% start word count
paragraph #1 \footnotes{...}
\begin{figures}...\end{figures}
paragraph #2
% end word count
\wordcount
% or some other command that prints the word count
other stuff
\end{document}
Использовать ли мне какой-либо контейнер? Эквивалент тегов div в LaTeX? Или мне все равно использовать \section{...}, но скрыть заголовок раздела?
Будем очень признательны за решение!
решение1
Это можно сделать с помощьюTeXcount, который является скриптом Perl. Вероятно, он доступен вам как часть установки TeX или его можно найти в веб-размере вместе с онлайн-приложением, которое вы можете попробовать.
TeXcount устанавливает контрольные точки, для которых генерируются подсчеты.
Точки останова по умолчанию установлены во всех заголовках глав/разделов, которые вам придется отключить: используйте параметр командной строки -sub=none
для скрипта или выберитеПодсчеты: нетв веб-интерфейсе.
Точки останова можно вставлять в документ с помощью строк комментариев TeX в форме
%TC:break breakpoint-title
где вы вводите название своей точки останова (пробелы допускаются), которая затем инициирует новый подсчет.
Альтернативой является определение макроса, например \CountSection
, который принимает один аргумент (который будет заголовком точки останова), и указание, что TeXcount должен вставить туда точку останова:
%TC:breakmacro \CountSection countsection
где countsection
любая непустая строка (без пробелов), которая будет префиксом только заголовка, чтобы указать, какой это тип счета. Это все еще требует опции -sub=none
.
Вы можете попробовать это навеб приложениево-первых. Вам не обязательно вводить полный документ, достаточно фрагмента кода.
Позвольте мне подробнее рассказать об этом и ответить на вопросы в комментариях: во-первых, пример того, как заставить работать подсчеты с выводом на консоль; во-вторых, как включить подсчеты в документ.
TeXcount использует контрольные точки для разделения счетов на подсчеты. "Конечных контрольных точек" нет: подсчет продолжается до следующей контрольной точки.
С другой стороны, если вам действительно нужно игнорировать части документа при подсчете, а не разбивать его на несколько сегментов, можно пометить сегменты, которые следует игнорировать, с помощью
%TC:ignore
...
%TC:endignore
Существует два способа вставки точек останова для разделения документа на подобласти: либо явно установив точку останова в документе с помощью инструкции %TC:breakpoint
, либо указав макросы, которые автоматически устанавливают точку останова. По умолчанию ( -sub=section
), TeXcount добавляет точки останова в \chapter
, \section
, и т. д.; использование опции -sub=none
позволяет избежать этого. Затем вы можете использовать %TC:breakmacro
инструкцию для указания других макросов, которые должны установить точку останова.
Вот краткий пример, который не является полным документом, а представляет собой лишь фрагмент кода:
%% Use \CountSection to set subcount breakpoints
\newcommand\CountSection[1]{} % No output in document
% Set macro handling rule: ignore text in argument
%TC:macro \CountSection [ignore]
% Specify that \CountSection sets a new breakpoint
%TC:breakmacro \CountSection Subcount
Any text occurring before a breakpoint will be part of the initial subcount
named \textit{top}.
\CountSection{First count section}
This text will be counted as part of the subcount labeled \textit{First count
section}, which will continue until the next breakpoint.
\CountSection{Second count section}
This will be counted as another subcount.
%TC:break Subcount text at the end
This will be the final subcount induced by an explicit breakpoint.
Вы можете попробовать запустить его через TeXcount на своем компьютере или в онлайн-приложении, а затем попробовать, как это работает. Если вы добавите \section
макросы в код, они добавят дополнительные точки останова, если вы не укажете -sub=none
. Кстати, -sub
это просто сокращение от -subcount
, и используется только для выбора между несколькими альтернативами макросов начальных точек останова, а не для указания ваших собственных.
TeXcount по умолчанию выводит счетчики (и другой вывод) на консоль. Вместо этого вы можете записать вывод в файл, что часто бывает полезно либо для импорта вывода в документ, либо при записи вывода в виде HTML.
Есть несколько приемов для импорта счетчика обратно в документ, все из которых требуют, чтобы TeXcount записал вывод в файл, а затем этот файл был импортирован в документ. Есть некоторыеинформация об этом в FAQ TeXcount, ипример на StackExchange. Можно настроить формат вывода с помощью шаблонов (Пример StackExchange), но это немного более продвинутый вариант, и прежде чем приступить к нему, вам следует правильно освоить подсчет.