TexWorks XeLaTex 章节/段落字数统计

TexWorks XeLaTex 章节/段落字数统计

我知道这个问题经常被问到,但由于我没有电脑的管理员权限(即无法安装 Pearl),并且觉得将文本复制粘贴到 Word 或其他地方很烦人,所以我希望在这里能找到帮助。基本上,我希望在给定段落的旁边显示字数,这有助于我写作。

从我找到的解决方案来看,https://tex.stackexchange.com/a/10034/182896似乎对段落很有效,并且能满足我的需要。以下是序言的摘录:

\documentclass{article}
\begingroup
\lccode`\~=`\ %
\lowercase{%
  \gdef\assignment{\setcounter{word}{0}%
    \catcode`~=\active
    \def~{\space\stepcounter{word}}}}%
\endgroup
\newcounter{word}
\def\endassignment{\stepcounter{word}%
  \marginpar{\arabic{word} words}}
\usepackage[authordate,backend=biber, hyperref=true]{biblatex-chicago}

我花了很长时间才弄清楚问题出在哪里,但如果在正文中我这样做:

\begin{document}

\begin{assignment}
Some text here~\autocites[see for instance][]{Gallarotti2011}{Lai2013b}{Hayden2012}.\par
\end{assignment}

\end{document}

一切都很好,但如果我执行以下操作:

\begin{document}


\begin{assignment}
Some text here~\autocites[see for instance][]{Gallarotti2011, Hayden2012, Lai2013b}. 
\end{assignment}


\end{document}

该文档无法编译,而是返回此错误:

Missing \endcsname inserted.
<to be read again> 
                   \csname\endcsname 
l.22 ...e][]{Gallarotti2011, Hayden2012, Lai2013b}
                                                  .

因此,我不明白除了以下原因之外,这里的问题是什么它以某种方式发生在花括号中。当然我可以重写我的引文,但那会花费很多时间。所以也许有人可以帮忙?

谢谢!

答案1

像这样使空间处于活动状态会破坏大多数乳胶文档,出现错误的情况是幸运的情况,您会收到警告,更令人担忧的是它对排版产生不利影响的情况(此处的第三个示例)或只是给出错误的数字(第二和第三个示例)。

在此处输入图片描述

\documentclass{article}
\begingroup
\lccode`\~=`\ %
\lowercase{%
  \gdef\assignment{\setcounter{word}{0}%
    \catcode`~=\active
    \def~{\space\stepcounter{word}}}}%
\endgroup
\newcounter{word}
\def\endassignment{\stepcounter{word}%
  \marginpar{\arabic{word} words}}
\usepackage[authordate,backend=biber, hyperref=true]{biblatex-chicago}

\begin{document}

\begin{assignment}
Some text here
\end{assignment}

\begin{assignment}
Some
text
here
\end{assignment}


\begin{assignment}
Some  text  here
\end{assignment}


\end{document}

当然,理论上可以使代码更复杂并使这些示例给出正确的输出,但更复杂的代码更有可能与其他包发生冲突并出现错误。

相关内容