Overleaf Word Count 严重低估了子文件和输入

Overleaf Word Count 严重低估了子文件和输入

我的 Overleaf Latex 项目严重低估了文档中的单词和方程式的数量。

实际单词数接近12000个,方程式60个。Overleaf Word Count仅输出130个单词和0个方程式。

我找到了问题和解决方法,但我不明白。在我的序言中,我已将所有 \usepackage{} 命令移至单独的文件 packages.tex,并使用 \input{packages.tex} 插入它。其中一个包 subfiles 放在 packages.tex 中时会导致字数统计失败。相反,在 main.text 中调用 \usepackage{subfiles} 可以解决问题(所有其他包仍通过 packages.tex 导入)。

那么 130 个单词在哪里呢?不只在 main.tex 中!注释掉我所有的 \subfile{} 命令只会得到一个 20 个单词的文档。真奇怪。

答案1

我不太熟悉 Overleaf,所以不知道 Overleaf 是如何工作的。但据我所知,它使用特克斯考特去做我所知道的计数。

TeXcount 最初处理单个 TeX 文件,但可以通过两种不同的方式添加包含的文件:

  • -inc列出单独计算的包含文件列表
  • -merge尝试合并包含的文件

在这种情况下,-merge需要这样做才能工作。这将简单地读取包含的文件并将内容插入到位。

如果您使用-inc,则将首先处理/计算主文件,然后再处理包含的文件。这将产生所描述的行为,因为\usepackage{subfiles}只有在packages.tex处理 时才会解析 。

的宏处理规则仅当 TeXcount 检测到包含\subfile该包时才会设置,因此如果使用,它在解析主文件时将保持未定义(TeXcount 将使用默认处理规则),直到稍后处理时为止。subfiles-incpackages.tex

如果 TeXcount 没有指定其他规则,则使用默认规则,即宏不执行任何操作。因此,这将使 TeXcount\subfile{myfile}按照myfile文本单词进行计数。

如果这不是原因,您必须提供更多详细信息:例如 TeXcount 运行时使用的选项以及有关它产生的输出的更多详细信息。

TeXcount 带有生成详细输出的选项,详细说明了 TeX 代码的每一部分是如何解析和计数的,但我怀疑这在 Overleaf 中无法轻松运行。TeXcount 网络服务提供了此功能,但不能处理多个文件。

来自 OP:根据此建议,以下代码有效。用 -inc 替换 -merge 可重现 Overleaf Word Count 计数不足的行为。

\usepackage{verbatim}
\newcommand{\detailtexcount}[1]{
  \immediate\write18{texcount -merge -sum #1.tex > #1.wc }%
  \verbatiminput{#1.wc}
}
\begin{document}
\detailtexcount{main}

相关内容