Windows 上的 TeX Live 中缺少 Perl 文件(TeXcount)

Windows 上的 TeX Live 中缺少 Perl 文件(TeXcount)

尝试在 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 代码,然后您可以在浏览器中查看这些代码。

相关内容