计算宏中用逗号分隔的单词数

计算宏中用逗号分隔的单词数

我需要计算宏中的单词数,定义如下:

\def\columnNames{MATRIX, METHODA, METHODB}

我手动设置了字数如下:

\pgfmathsetmacro\numberOfColumns{3}

我需要一种自动查找宏中单词数的方法。列表以逗号“,”分隔。

我找到了几个解决方案(12……)。然而,我却没能适应自己的处境。

答案1

这里的“字数”元素并不重要:您所需要的只是一种方法来查找逗号分隔列表的“长度”。这相对容易做到,但由于expl3提供了预定义的解决方案,我会使用该方法

\documentclass{article}
\usepackage{expl3}
\ExplSyntaxOn
\cs_new_eq:NN \commalistlength \clist_count:N
\ExplSyntaxOff
\usepackage{pgf}

\begin{document}
\def\columnNames{MATRIX, METHODA, METHODB}
\pgfmathsetmacro\numberOfColumns{\commalistlength{\columnNames}}
\show\numberOfColumns
\end{document}

相关内容