Word and character count excluding TeX-directives
To meet some formal guidelines, I need to provide a word count of my abstract and a character count of the main text, and a character count of all the text appearing in figure captions. Is this possible (maybe using some lua-magic)? Thank you! Thomas Minimal example: \definestartstop [abstract] [style=bold, after={\blank[big]}] \starttext \title{My title: example of a word and character count} {\strut\tfx Formal guidelines: word count of abstract: $x$, character count of main text: $x$, character count of figure captions: $x$.} \blank \startabstract This is the abstract. Read this and that. \stopabstract % start of the main text Some random text with formulas \startformula y = α + βx + ε, \quad ε \sim N(0,σ^2) \stopformula And there are also figures with captions. \startplacefigure[ location=bottom, title={Residual plot with time $t$ on the x-axis and residuals $e_{jt}$ on the y-axis}, reference={fig:subject-residual}] \externalfigure[residuals][height=.242\textheight] \stopplacefigure And some more text with $x$ and $y$ and $z$, and \placeformula \startformula \startalign \NC a =\NC b \NR \NC c =\NC d \NR \stopalign \stopformula And stop. \stoptext
On 2018-01-16 09:26, Dr. Thomas Möbius wrote:
\definestartstop [abstract] [style=bold, after={\blank[big]}]
\starttext \title{My title: example of a word and character count}
{\strut\tfx Formal guidelines: word count of abstract: $x$, character count of main text: $x$, character count of figure captions: $x$.} \blank
\startabstract This is the abstract. Read this and that. \stopabstract
% start of the main text Some random text with formulas
\startformula y = α + βx + ε, \quad ε \sim N(0,σ^2) \stopformula
And there are also figures with captions.
\startplacefigure[ location=bottom, title={Residual plot with time $t$ on the x-axis and residuals $e_{jt}$ on the y-axis}, reference={fig:subject-residual}] \externalfigure[residuals][height=.242\textheight] \stopplacefigure
And some more text with $x$ and $y$ and $z$, and \placeformula
\startformula \startalign \NC a =\NC b \NR \NC c =\NC d \NR \stopalign \stopformula
And stop. \stoptext
Try something based on this: \startluacode userdata = userdata or { } function userdata.wordcount(listname) filename = file.addsuffix(tex.jobname,"words") if lfs.isfile(filename) then local w = dofile(filename) if w then if type(w.categories[listname]) == "table" then context(w.categories[listname].total) else context(w.total) end context.par() end end end \stopluacode \def\wordcount{% \dosingleempty\dowordcount} \def\dowordcount[#1]{% \ctxlua{userdata.wordcount("#1")}} \setupspellchecking[state=start,method=2] \ctxlua{languages.words.threshold=1} \definestartstop [abstract] [style=bold, after={\blank[big]}] \starttext \setupspellchecking[list=abstract] \startabstract This is the abstract. Read this and that. \stopabstract \setupspellchecking[list=main] Some random text with formulas \startformula y = α + βx + ε, \quad ε \sim N(0,σ^2) \stopformula And there are also figures with captions. \setupspellchecking[list=figures] \startplacefigure[ location=bottom, title={Residual plot with time $t$ on the x-axis and residuals $e_{jt}$ on the y-axis}, reference={fig:subject-residual}] \externalfigure[residuals][height=.242\textheight] \stopplacefigure \setupspellchecking[list=main] And some more text with $x$ and $y$ and $z$, and \placeformula \startformula \startalign \NC a =\NC b \NR \NC c =\NC d \NR \stopalign \stopformula And stop. \setupspellchecking[state=stop] \title{My title: example of a word and character count} Abstract: \wordcount[abstract] Main: \wordcount[main] Figures: \wordcount[figures] Wordcount: \wordcount \stoptext -- Rik
participants (2)
-
Dr. Thomas Möbius
-
Rik Kabel