# print word count

The journal I am submitting to requires a count of the words on the title page. I can of course run texcount on the .tex document and put the number in, but it seems that I should be able to automate this.

For tables and figures (which are also required), I can simply use the totcount package. Is there something equivalent for words? Or can I store the output of texcount in such a way that I can call it on a subsequent pdflatex run?

Here is the solution using bashful. Note that you need to run latex or pdflatex using -shell-escape option

\documentclass{article}
\usepackage{bashful}
\pagestyle{empty}
\bash
texcount -sum -1 tmp.tex
\END
\begin{document}
This file has \emph{\bashStdout} words.
\end{document}


:

• I combined your texcount syntax with the macro supplied by Jake on the other question, and it works wonderfully. Yours didn't work because of \bashStdout is not recognized as a control statement. But thanks for helping me with the texcount syntax! Mar 23, 2012 at 19:29
• You probably need to upgrade bashful to get \bashStdout to work Mar 23, 2012 at 19:38
• I don't suppose that there is a way to pass the name of the document to texcount automatically? The macro from the other question uses \jobname, but when I tried that here it didn't work.
– twsh
Aug 4, 2012 at 9:44

Here is a solution that does not require an external package:

 \makeatletter\@@input|"echo texcount -1 manuscript.tex| cut -c1-4"\makeatother


The cut command assumes a four digit number and could be parsed more elegantly.

This command requires --shell-escape when compiling, as in:

pdflatex --shell-escape myfile.tex

• I prefer this solution respect to the first one. However, when I use it, it produces an unwanted white space after the four digit number. I worked around that using \hspace{-.5ex} but maybe it depends on the parsing of texcount's output Aug 16, 2013 at 10:32
• BTW, it can be improved as following: \makeatletter\@@input|"echo texcount -q -1 -merge \jobname.tex| cut -c1-4"\makeatother Aug 16, 2013 at 11:10
• Another improvement would be cut -d+ -f1 instead of cut -c1-4 to make the script work regardless of the number of words in the document (-d+ uses + as field delimiter, -f1 orders cut to output only the first field). Mar 9, 2018 at 10:19