逐字计数时不包括脚注

逐字计数时不包括脚注

我对逐字记录还很陌生,而且也很困惑。

我想在文章末尾添加一个“简单”的字数统计功能(这是要求),并且不想每次更改内容时都运行外部 pdf-wordcount 软件。因此,我\wordcount在另一篇文章中找到了第一个名为“使用 verbatim”的函数,并对其进行了修改,使其更符合其用途。该text.tex文档通常包含我的文章(附录除外),并且不包括输入文件等,但我注意到 wordcount 还计算了我的脚注(它实际上不应该)。

因此我的问题是:是否有任何合理简单的方法来排除脚注的计算,或者我是否必须\wordcountt每次都显示扩展的字数统计()并自己减去那些“文本之外的单词”?

非常感谢您的帮助!

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{verbatim}
\usepackage{moreverb} % for verbatim ouput

\newcommand{\wordcount}[1]{
    \immediate\write18{texcount -nc -nobib -1 -sum text.tex > #1-words.sum}
    \begin{flushright}\footnotesize \textsc{Wordcount:} \input{#1-words.sum}words.\end{flushright}
    }
\newcommand{\wordcountt}[1]{
    \immediate\write18{texcount -nobib -sum text.tex > #1-words.sum}
    \input{#1-words.sum}
    }

\begin{document}

\input{text}

\wordcount{text.tex}
\wordcountt{text.tex}

\end{document}

答案1

有两种方法可以忽略特定命令的内容,例如\footnote{}TeXcount 中的字数统计。

第一种方法是向被计数的文件添加一个“魔法命令”。这在第 18 页中有描述TeXcount 手册。虽然提到了,但那里的例子ignore可能不是很清楚,在中提供了一个更简单的例子使用 Texcount 但如何忽略宏内容?

注释的语法是%TC:macro \macroname [options for each argument],因此在本例中它变成%TC:macro \footnote [ignore]。此注释需要放在您通过宏计数的所有文件中\wordcount{},因此在本例中您应该将注释放在 的开头text.tex

如果您有多个文件,那么更简单的替代方法是设置选项的第二种方法texcount,即提供一个选项文件。这是一个包含您要设置的所有选项的文本文件。语法略有不同,而不是%TC:macro此文件应包含语法%macro。可以使用命令行标志加载该文件-optionfile=filename。加载此选项文件时,您不再需要在文件中添加任何注释.tex

例如以下文件名为texcount.cfg

%macro \footnote [ignore]

并在主文档中调用以下宏:

\immediate\write18{texcount -optionfile=texcount.cfg -nc -nobib -1 -sum text.tex > #1-words.sum}

脚注被忽略。

请注意,没有必要将文件名text.tex硬编码到调用中\write18。您可以使用#1来表示宏的第一个参数(即文件名),这样您就可以为文件指定任何您想要的名称。此外,问题中的代码实际上不用于\verbatiminput摘要文件。我在下面的 MWE 中更正了这一点,并且也删除了它,\usepackage{moreverb}因为它对于逐字输入/输出(由包处理verbatim)不是必需的。

MWE,第一个版本(带有评论):

tcfootnotes.tex

%TC:macro \footnote [ignore]
This is a text \footnote{with footnotes}

主文件:

\documentclass{article}
\usepackage[utf8]{inputenc}
% the following \usepackage statement
% is only to make the page smaller for the screenshot,
% it can be removed for the actual document
\usepackage[totalheight=8cm]{geometry}

\usepackage{verbatim}

\newcommand{\wordcount}[1]{
    \immediate\write18{texcount -nc -nobib -1 -sum #1 > #1-words.sum}
    \begin{flushright}\footnotesize \textsc{Wordcount:} \input{#1-words.sum}words.\end{flushright}
    }
\newcommand{\wordcountt}[1]{
    \immediate\write18{texcount -nobib -sum #1 > #1-words.sum}
    \verbatiminput{#1-words.sum}
    }

\begin{document}

\input{tcfootnotes}

\wordcount{tcfootnotes.tex}
\wordcountt{tcfootnotes.tex}

\end{document}

MWE,第二版(带有选项文件):

tcfootnotes.tex

This is a text \footnote{with footnotes}

texcount.cfg

%macro \footnote [ignore]

主要文件:

\documentclass{article}
\usepackage[utf8]{inputenc}
% the following \usepackage statement
% is only to make the page smaller for the screenshot,
% it can be removed for the actual document
\usepackage[totalheight=8cm]{geometry}

\usepackage{verbatim}

% note the addition of -optionfile=texcount.cfg in the command below
\newcommand{\wordcount}[1]{
    \immediate\write18{texcount -optionfile=texcount.cfg -nc -nobib -1 -sum #1 > #1-words.sum}
    \begin{flushright}\footnotesize \textsc{Wordcount:} \input{#1-words.sum}words.\end{flushright}
    }
\newcommand{\wordcountt}[1]{
    \immediate\write18{texcount -nobib -sum #1 > #1-words.sum}
    \verbatiminput{#1-words.sum}
    }

\begin{document}

\input{tcfootnotes}

\wordcount{tcfootnotes.tex}
\wordcountt{tcfootnotes.tex}

\end{document}

结果(两个版本相同):

在此处输入图片描述

相关内容