![回复:在乳胶文档中插入位于计数器环境之前的计数器值?](https://linux22.com/image/323169/%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%9C%A8%E4%B9%B3%E8%83%B6%E6%96%87%E6%A1%A3%E4%B8%AD%E6%8F%92%E5%85%A5%E4%BD%8D%E4%BA%8E%E8%AE%A1%E6%95%B0%E5%99%A8%E7%8E%AF%E5%A2%83%E4%B9%8B%E5%89%8D%E7%9A%84%E8%AE%A1%E6%95%B0%E5%99%A8%E5%80%BC%EF%BC%9F.png)
我正在使用以下宏来计算期刊文章中的字数:
\usepackage{xesearch}
\newcounter{words}
\newenvironment{wordcount}{%
\setcounter{words}{0}
\SearchList!{wordcount}{\stepcounter{words}}
{a?,b?,c?,d?,e?,f?,g?,h?,i?,j?,k?,l?,m?,
n?,o?,p?,q?,r?,s?,t?,u?,v?,w?,x?,y?,z?}
\UndoBoundary{'}
\SearchOrder{p;}}{%
\StopSearching}
然后我使用:
\begin{wordcount}
blah blah blah
\end{wordcount}
来计算之间的字数。但是,我需要在文档中我想要计算字数的部分前面的标题页上指示字数。有没有办法在文档中计数器环境之前的某个位置插入计数器值?
谢谢
史蒂夫
答案1
版本 1:将文档末尾的计数器的值保存到文件中,aux
以便您在下次运行中读取它:
% arara: xelatex
% arara: xelatex
\documentclass{article}
\usepackage{xesearch}
\newcounter{words}
\newenvironment{wordcount}{%
\setcounter{words}{0}
\SearchList!{wordcount}{\stepcounter{words}}
{a?,b?,c?,d?,e?,f?,g?,h?,i?,j?,k?,l?,m?,
n?,o?,p?,q?,r?,s?,t?,u?,v?,w?,x?,y?,z?}%
\UndoBoundary{'}%
\SearchOrder{p;}%
}{\StopSearching}
\providecommand\totalwords{}
\makeatletter
\AtEndDocument{%
\write\@auxout{%
\gdef\noexpand\totalwords{\arabic{words}}
}%
}
\makeatother
\begin{document}
\totalwords
\begin{wordcount}
blah blah blah
\end{wordcount}
\end{document}
版本 2:相同,但借助包:
% arara: xelatex
% arara: xelatex
\documentclass{article}
\usepackage{xesearch}
\newcounter{words}
\newenvironment{wordcount}{%
\setcounter{words}{0}
\SearchList!{wordcount}{\stepcounter{words}}
{a?,b?,c?,d?,e?,f?,g?,h?,i?,j?,k?,l?,m?,
n?,o?,p?,q?,r?,s?,t?,u?,v?,w?,x?,y?,z?}%
\UndoBoundary{'}%
\SearchOrder{p;}%
}{\StopSearching}
\usepackage{totalcount}
\DeclareTotalCounter{words}
\begin{document}
\totalwordss % \total<counter>s
\begin{wordcount}
blah blah blah
\end{wordcount}
\end{document}