
Я хочу подсчитать количество символов в разделе, а затем отобразить, находится ли это значение ниже, в пределах или выше предела. Я взял код изДинамически подсчитывать и возвращать количество слов в разделе. И у меня есть следующее (скомпилируйте его с помощью pdflatex --shell-escape mwe.tex
).
\documentclass{article}
\newcommand{\wordcount}{%
\immediate\write18{texcount -merge -sub=section \jobname.tex | grep "Section" | sed -e 's/+.*//' | sed -n \thesection p > 'count.txt'} \input{count.txt}}
\usepackage{lipsum}
\begin{document}
\section{test1}
\wordcount
\ifnum\wordcount<1000 Below
\ifnum\worcount>2000 Above
\else Inside
foo bar
\section{test2}
\wordcount
foo bar
foo bar
foo bar
\end{document}
Код выше не работает, потому что \wordcount
это не совсем значение в смысле LaTeX. Есть ли способ, которым я могу перевести в реальное значение, чтобы код заработал?
Другим решением было бы использованиеОкружающая среда, в которой подсчитываются слова, но в этом случае мне нужно будет сохранить значение каждого счетчика и отобразить его позже.
решение1
Скрипт Perl TeXcount (http://app.uio.no/ifi/texcount/) выдаст количество слов в вашем документе TeX с разбивкой по разделам. Пример показан ниже. Вы также можете пропустить файл .tex и добавить флаг -help, чтобы увидеть множество опций.
$ perl texcount.pl paper.tex
File: paper.tex
Encoding: ascii
Words in text: 5824
Words in headers: 22
Words outside text (captions, etc.): 1032
Number of headers: 8
Number of floats/tables/figures: 18
Number of math inlines: 48
Number of math displayed: 0
Subcounts:
text+headers+captions (#headers/#floats/#inlines/#displayed)
90+12+0 (1/0/6/0) _top_
162+1+0 (1/0/1/0) Section: Abstract
751+1+0 (1/0/1/0) Section: Introduction
795+1+0 (1/0/6/0) Section: Methods
3964+2+0 (1/0/20/0) Section: Results \& Discussion
44+1+0 (1/0/0/0) Section: Acknowledgments
0+2+320 (1/9/0/0) Section: Table Legends
18+2+712 (1/9/14/0) Section: Figure Legends