我可以配置 texcount 以不忽略某些可选参数吗?

我可以配置 texcount 以不忽略某些可选参数吗?

是否可以配置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 环境使用的括号)。此规则可用于环境内容,但不适用于宏或环境参数或选项,因为排除会导致 { 和 [ 被忽略。

相关内容