我的 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
-inc
packages.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}