我正在尝试使用以下方法计算西里尔文 LaTeX 文档中的单词数纺织计数。
我运行该命令perl texcount.pl index.tex
并得到以下输出:
D:\wd>perl texcount.pl index.tex
!!! Could not identify document class. !!!
File: index.tex
Encoding: utf8
Words in text: 0
Words in headers: 5
Words outside text (captions, etc.): 0
Number of headers: 1
Number of floats/tables/figures: 0
Number of math inlines: 0
Number of math displayed: 0
(errors:1)
index.tex
从以下行开始:
\documentclass[a5paper,pagesize,10pt,bibtotoc,pointlessnumbers,
normalheadings,DIV=9,twoside=false]{scrbook}
因此documentclass
标签存在。
我该如何修复这个错误?
答案1
问题的根源在于 的可选参数(包含在 中[...]
)中的行移\documentclass
。由于 TeXcount 默认无法解析包含行移的可选参数,因此无法识别文档类(scrbook
),因此出现错误消息。
TeXcount 对接受可选参数的内容有一点限制,以避免在错误地将[
宏后的内容解释为宏选项时意外吞噬大量文本。
有三种解决方案:
第一个解决方案是使用-relaxed
放宽宏选项约束的选项运行 TeXcount,以便允许在其中进行行移位。这可以说是最好的解决方案,因为它不需要修改 TeX 代码,前提是它不会因在其他地方放宽解析规则而导致问题。
第二个是删除第一行的换行符,使所有内容\documentclass
都在一行上。这允许 TeXcount 将该选项解析为宏选项。
第三个方法是直接忽略错误。据我所知,唯一的效果是 TeXcount 无法确定正在使用哪个文档类。文档类的唯一用途是 TeXcount可能导入文档类特定的宏处理规则,但无论如何,TeXcount 中实现的这些规则并不多,而且scrbook
据我所知一个也没有。
答案2
将第一行更改为
\documentclass{scrbook}
解决了这个问题。