我对逐字记录还很陌生,而且也很困惑。
我想在文章末尾添加一个“简单”的字数统计功能(这是要求),并且不想每次更改内容时都运行外部 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}
结果(两个版本相同):