是否可以配置texcount
不是忽略某些宏的可选参数中的文本?
请考虑以下示例:
\documentclass{article}
\begin{document}
\autocite[e.g.][4]{key-1,key-2}
\autocites[e.g.][5]{key-1,key-2}[and][89]{key-3}
\end{document}
当然,这不会编译,但它可以作为一个最小示例,texcount
并不关心它是否编译。
我的texcount.cfg
包括以下规则:
%TC:macro \autocite [1]
%TC:macro \autocites [1,1]
运行上述最小文档将texcount
产生包含以下内容的输出:
\documentclass{article} [0]
\begin{document} [0]
\autocite[e.g.][4]{key-1,key-2} [2]
\autocites[e.g.][5]{key-1,key-2}[and][89]{key-3} [5]
\end{document} [5]
Total
Sum count: 5
Words in text: 5
Words in headers: 0
Words outside text (captions, etc.): 0
Number of headers: 0
Number of floats/tables/figures: 0
Number of math inlines: 0
Number of math displayed: 0
Files: 2
就我的目的而言,这比默认的完全不计算我的引用数有了很大的改进。尽管如此,它仍然低估了数量。准确的计数应该是(大约)16 个单词,而不是 5 个,包括前后注释中的 6 个:
- 可选参数作为引文的一部分,共 6 个字
我可以告诉texcount
它计算可选参数中的单词数吗?
答案1
假设您正在运行 TeXcount 版本 3,您可以为可选参数指定解析规则。
您还可以对规则使用更直观的名称,而不是数字代码。
对于您来说,可以使用以下解析规则:
%TC:macro \autocite [option:text,option:ignore,text]
%TC:macro \autocites [option:text,option:ignore,text,option:text,option:ignore,text]
如果为宏提供了可选参数,则适用格式上指定的可选规则option:rule
,否则将跳过。
可用的解析规则是(从文档的第 5.1 节复制):
- 文本:(键:text,word,wd,w 原为 1)计为文本(即统计单词)。
- 页眉文本:(键:headertext、headerword、hword、hwd、hw,以前为 2)计为页眉文本。
- 其他文本:(键:otherword、other、oword、owd、ow 原为 3)算作浮动/标题文本。
- Displaymath:(键:displaymath、dsmath、dmath、ds,以前为 7)算作显示的数学公式。
- 内联数学:(键:inlinemath、inline、imath、eq 以前为 6)算作内联数学公式。
- 到页眉:(键:header,heading,head 原为 4)计数页眉,然后将文本计为 headertext(过渡状态)。
- 转换为浮点数:(关键词:浮点数、表格、图形,原为 5)对浮点数进行计数,然后将内容解析为 isfloat(过渡状态)。
- 前言:(关键:以前为 -9)解析为前言,即忽略文本但查找前言包含宏。
- 忽略:(键:忽略,原为 0)忽略文本,即不计算,但仍会解析代码。
- 浮点型:(键:isfloat,以前为 -1)浮动内容,忽略文本但查找 floatinclude 宏。
- 强排除:(键:xx 以前为 -2)强忽略,忽略环境,例如在宏定义中使用,其中 \begin–\end 不需要平衡。
- 更强的排除:(键:xxx 以前为 -3)更强的忽略,将宏作为独立的标记处理而不处理其参数,以便与 \newcommand 和 \def 等宏定义一起使用。
- 全部排除:(键:xall,以前为 -4)全部忽略,包括不匹配的括号(例如 %TC:ignore 和 verbatim 环境使用的括号)。此规则可用于环境内容,但不适用于宏或环境参数或选项,因为排除会导致 { 和 [ 被忽略。