我想包含所有以 \figure 开头的宏(或 \newcommand),并将它们计为 texcount 中的浮点数。为了便于理解,看看这里。
如果我告诉 texcount 为每个 \newcommand 单独增加浮点计数器,它就会起作用:
%TC:macroword \figureMyNthPicture [float]
每个以字符串开头的新命令(如 \figure)都会被计算在内并且macrocount/macroword
只需要定义一次,这会很方便。
我尝试了以下正则表达式,但没有成功:
%TC:macroword ^\\figure [float]
下面是一个MWE
可以工作的,但是macrocount/macroword
目前每个宏都是单独定义的,这是不受欢迎的。
\documentclass[a4paper,12pt]{scrartcl}
\usepackage{graphicx}
%---------------------------------------
\begin{document}
% define figureA
\newcommand{\figureA}{
\begin{figure}
\includegraphics[width=\textwidth]{example-image-a}
\end{figure}
}
%Count figure A in texcount
%TC:macroword \figureA [float]
%place figureA
\figureA
%define figureB
\newcommand{\figureB}{
\begin{figure}[!htb]
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{example-image-B}
\end{figure}
}
%Count figure B in texcount
%TC:macroword \figureB [float]
%place figure B
\figureB
\end{document}
答案1
当心在宏中添加虚假的空格(这里缺少空格%
)但不是使用命名约定使用大量宏为什么不使用带有参数 so\myfigure{A}
和 的单个宏\myfigure{B}
?
然后你只需要告诉 texcount\myfigure
你可以将其定义为
\newcommand\myfigure[1]{\csname figure#1\endcsname}
它将与您现有的定义一起工作。