在表格环境中计算文本数量

在表格环境中计算文本数量

有人知道如何计算表格环境中的单词数吗?

答案1

环境tabular可以通过包来隔离preview。然后,其他内容将被丢弃,仅tabular设置:

\documentclass{article}
\usepackage{lipsum}
\usepackage{booktabs}

%----------
\usepackage[active]{preview}
\PreviewEnvironment[[!]{tabular}
% Prevent hyphenation
\hyphenpenalty10000
\sloppy
%----------

\begin{document}
\lipsum[1]

\begin{tabular}{p{10cm}}
\toprule
Some text in a table\tabularnewline
\midrule
\lipsum[2]\tabularnewline
\bottomrule
\end{tabular}

\lipsum[3]
\end{document}

结果

然后,可以将输出文件(例如 PDF)转换为文本(例如pdftotext),并可以通过您选择的方法(例如wc --words)计算单词。我在这个例子中得到了 85 个单词。

一般来说,表格可以包含很多不同的东西(数字、公式、符号、图像、重复的表头和表尾、标题……)。在计算之前,应该正确定义“单词”这个术语。

答案2

首先要注意的是,如果不清楚什么算作一个单词,那么在表格中计算单词数可能会很棘手。对于包含纯文本内容的表格,它可能效果很好,但数字和标签很容易被算作单词,这可能不是你想要的。很难制定一个好的、通用的规则来计算表格中的单词数:无论如何,这取决于表格包含什么类型的内容。

特克斯考特,您可以添加如何解析表的规则:默认情况下,它们不被计算在内。对于环境,您可以通过%TC:envir在文档中插入注释来执行此操作,TeXcount 将以此为指令来添加环境解析规则:

%TC:envir tabular [ignore] word

\begin{tabular}{|r|l|}
  \hline
  7C0 & hexadecimal \\
  3700 & octal \\ \cline{2-2}
  11111000000 & binary \\
  \hline \hline
  1984 & decimal \\
  \hline
\end{tabular}

该规则意味着tabular环境采用一个被忽略的参数,并且内容被视为类型word

这将对单词和文本的其余部分进行计数。要单独对表格中的单词进行计数,可以使用以下方法为此目的创建单独的计数器:

%TC:newcounter tableword
%TC:envir tabular [ignore] tableword

反而。

请注意,TeXcount 还会将左列中的数字/代码计为单词。由于表格可能难以解析,甚至可能不清楚应该将哪些内容计为单词,因此您应该验证 TeXcount 是否真正计算了您想要计算的内容。TeXcount 提供颜色编码输出,指示哪些元素已计为单词,这使得可以相对轻松地检查这一点。

TeXcount 是一个 Perl 脚本,很可能随 TeX 安装一起提供。或者,也许更方便测试,您可以使用TeXcount Web 应用程序

相关内容