尝试在 Windows 7 上使用 TeX Live 运行 TeXcount 会导致
>texcount
Can't locate Win32/Console/ANSI.pm in @INC (@INC contains: C:/texlive/2013/tlpkg/tlperl/lib c:/texlive/2013/tlpkg/tlperl/lib .) at c:/texlive/2013/texmf-dist/scripts/texcount/texcount.pl line 11.
BEGIN failed--compilation aborted at c:/texlive/2013/texmf-dist/scripts/texcount/texcount.pl line 14
C:/texlive/2013/bin/win32/runscript.tlu:650: command failed with exit code 2:
perl.exe c:/texlive/2013/texmf-dist/scripts/texcount/texcount.pl
通过在 Google 上搜索ansi.pm
,似乎有两个 Perl 库称为ansi.pm
:一个用于 SQL,另一个(相关库)用于为 Windows 控制台翻译 ANSI 颜色代码。我无法在互联网上找到后者的文件。
答案1
你可以找到CPAN 上的 Win32::Console::ANSI。我对 Perl 还不够了解,因此无法判断这是否包含您所需的全部内容,或者这是否取决于您所使用的 Perl 安装。
如果不起作用,你只需要从 TeXcount 中删除该包的包含。在最新版本的 TeXcount 中,包含该包的代码是:
# Conditional package inclusion
if ($^O=~/^MSWin/) {
eval {
require Win32::Console::ANSI;
Win32::Console::ANSI::->import();
};
if ($@) {
option_ansi_colours(0);
print STDERR 'Package Win32::Console::ANSI required for colour coded output.';
}
}
如果包不可用,这应该会捕获给出的错误。但是,如果由于某种原因没有发生这种情况,您可以用一行替换整个块以转换 ANSI 颜色:
option_ansi_colours(0);
当然,这意味着控制台中不会有详细输出的颜色编码,这使得它的用处大大减少。相反,您可以使用 -html 选项运行 TeXcount 来生成 HTML 代码,然后您可以在浏览器中查看这些代码。